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