cuelang.org/go@v0.10.1/cue/testdata/fulleval/042_cross-dependent_comprehension.txtar (about)

     1  # DO NOT EDIT; generated by go run testdata/gen.go
     2  #
     3  #name: cross-dependent comprehension
     4  #evalFull
     5  -- in.cue --
     6  #a: {
     7  	if b {
     8  		c: 4
     9  	}
    10  	b: bool
    11  }
    12  x: (#a & {b: true}) & {c: 4}
    13  y: x
    14  -- out/def --
    15  x: _|_ // field "c" not allowed in closed struct
    16  y: _|_ // field "c" not allowed in closed struct
    17  #a: {
    18  	b: bool
    19  	if b {
    20  		c: 4
    21  	}
    22  }
    23  -- out/legacy-debug --
    24  <0>{x: _|_(4:field "c" not allowed in closed struct), y: _|_(4:field "c" not allowed in closed struct), #a: <1>C{b: bool if <2>.b yield <3>C{c: 4}}}
    25  -- out/compile --
    26  --- in.cue
    27  {
    28    #a: {
    29      if 〈0;b〉 {
    30        c: 4
    31      }
    32      b: bool
    33    }
    34    x: ((〈0;#a〉 & {
    35      b: true
    36    }) & {
    37      c: 4
    38    })
    39    y: 〈0;x〉
    40  }
    41  -- out/eval/stats --
    42  Leaks:  0
    43  Freed:  10
    44  Reused: 6
    45  Allocs: 4
    46  Retain: 4
    47  
    48  Unifications: 10
    49  Conjuncts:    18
    50  Disjuncts:    12
    51  -- out/evalalpha --
    52  (struct){
    53    #a: (_|_){
    54      // [incomplete] #a: incomplete bool: bool:
    55      //     ./in.cue:5:5
    56      b: (bool){ bool }
    57    }
    58    x: (#struct){
    59      b: (bool){ true }
    60      c: (int){ 4 }
    61    }
    62    y: (#struct){
    63      b: (bool){ true }
    64      c: (int){ 4 }
    65    }
    66  }
    67  -- diff/-out/evalalpha<==>+out/eval --
    68  diff old new
    69  --- old
    70  +++ new
    71  @@ -5,11 +5,11 @@
    72       b: (bool){ bool }
    73     }
    74     x: (#struct){
    75  -    c: (int){ 4 }
    76  -    b: (bool){ true }
    77  +    b: (bool){ true }
    78  +    c: (int){ 4 }
    79     }
    80     y: (#struct){
    81  -    c: (int){ 4 }
    82  -    b: (bool){ true }
    83  +    b: (bool){ true }
    84  +    c: (int){ 4 }
    85     }
    86   }
    87  -- diff/todo/p3 --
    88  Reordering
    89  -- out/eval --
    90  (struct){
    91    #a: (_|_){
    92      // [incomplete] #a: incomplete bool: bool:
    93      //     ./in.cue:5:5
    94      b: (bool){ bool }
    95    }
    96    x: (#struct){
    97      c: (int){ 4 }
    98      b: (bool){ true }
    99    }
   100    y: (#struct){
   101      c: (int){ 4 }
   102      b: (bool){ true }
   103    }
   104  }