cuelang.org/go@v0.13.0/cue/testdata/fulleval/005_conditional_field.txtar (about) 1 #name: conditional field 2 #evalFull 3 -- in.cue -- 4 5 if b { 6 a: "foo" 7 } 8 b: true 9 c: { 10 a: 3 11 if a > 1 { 12 a: 3 13 } 14 } 15 d: { 16 a: int 17 if a > 1 { 18 a: 3 19 } 20 } 21 -- out/def -- 22 b: true 23 a: "foo" 24 c: { 25 a: 3 26 } 27 d: { 28 a: int 29 if a > 1 { 30 a: 3 31 } 32 } 33 -- out/legacy-debug -- 34 <0>{b: true, a: "foo", c: <1>{a: 3}, d: <2>{a: int if (<3>.a > 1) yield <4>{a: 3}}} 35 -- out/compile -- 36 --- in.cue 37 { 38 if 〈0;b〉 { 39 a: "foo" 40 } 41 b: true 42 c: { 43 a: 3 44 if (〈0;a〉 > 1) { 45 a: 3 46 } 47 } 48 d: { 49 a: int 50 if (〈0;a〉 > 1) { 51 a: 3 52 } 53 } 54 } 55 -- out/eval/stats -- 56 Leaks: 0 57 Freed: 7 58 Reused: 4 59 Allocs: 3 60 Retain: 1 61 62 Unifications: 7 63 Conjuncts: 7 64 Disjuncts: 7 65 -- out/evalalpha -- 66 (struct){ 67 a: (string){ "foo" } 68 b: (bool){ true } 69 c: (struct){ 70 a: (int){ 3 } 71 } 72 d: (_|_){ 73 // [incomplete] d: non-concrete value int in operand to >: 74 // ./in.cue:14:5 75 // ./in.cue:13:5 76 // ./in.cue:14:2 77 a: (_|_){ 78 // [incomplete] d: non-concrete value int in operand to >: 79 // ./in.cue:14:5 80 // ./in.cue:13:5 81 // ./in.cue:14:2 82 } 83 } 84 } 85 -- diff/-out/evalalpha<==>+out/eval -- 86 diff old new 87 --- old 88 +++ new 89 @@ -5,7 +5,15 @@ 90 a: (int){ 3 } 91 } 92 d: (_|_){ 93 - // [cycle] cycle error: 94 + // [incomplete] d: non-concrete value int in operand to >: 95 // ./in.cue:14:5 96 + // ./in.cue:13:5 97 + // ./in.cue:14:2 98 + a: (_|_){ 99 + // [incomplete] d: non-concrete value int in operand to >: 100 + // ./in.cue:14:5 101 + // ./in.cue:13:5 102 + // ./in.cue:14:2 103 + } 104 } 105 } 106 -- out/eval -- 107 (struct){ 108 a: (string){ "foo" } 109 b: (bool){ true } 110 c: (struct){ 111 a: (int){ 3 } 112 } 113 d: (_|_){ 114 // [cycle] cycle error: 115 // ./in.cue:14:5 116 } 117 }