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 }