cuelang.org/go@v0.10.1/cue/testdata/fulleval/021_complex_groundness_2.txtar (about) 1 # DO NOT EDIT; generated by go run testdata/gen.go 2 # 3 #name: complex groundness 2 4 #evalFull 5 -- in.cue -- 6 r1: f1 & {y: "c"} 7 8 f1: {y: string, res: a.b.c & {d: y}} 9 10 a: b: c: {d: string, s: "a" + d} 11 a: b: [C=string]: {d: string, s: "a" + d} 12 a: b: c: d: string 13 -- out/def -- 14 r1: f1 & { 15 y: "c" 16 } 17 f1: { 18 y: string 19 res: a.b.c & { 20 d: y 21 } 22 } 23 a: { 24 b: { 25 {[C=string]: { 26 d: string, s: "a" + d 27 }} 28 c: { 29 d: string 30 s: "a"+d & "a"+d 31 } 32 } 33 } 34 -- out/legacy-debug -- 35 <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))}}}} 36 -- out/compile -- 37 --- in.cue 38 { 39 r1: (〈0;f1〉 & { 40 y: "c" 41 }) 42 f1: { 43 y: string 44 res: (〈1;a〉.b.c & { 45 d: 〈1;y〉 46 }) 47 } 48 a: { 49 b: { 50 c: { 51 d: string 52 s: ("a" + 〈0;d〉) 53 } 54 } 55 } 56 a: { 57 b: { 58 [string]: { 59 d: string 60 s: ("a" + 〈0;d〉) 61 } 62 } 63 } 64 a: { 65 b: { 66 c: { 67 d: string 68 } 69 } 70 } 71 } 72 -- out/eval/stats -- 73 Leaks: 0 74 Freed: 16 75 Reused: 8 76 Allocs: 8 77 Retain: 6 78 79 Unifications: 16 80 Conjuncts: 63 81 Disjuncts: 22 82 -- out/evalalpha -- 83 (struct){ 84 r1: (struct){ 85 y: (string){ "c" } 86 res: (struct){ 87 d: (string){ "c" } 88 s: (string){ "ac" } 89 } 90 } 91 f1: (struct){ 92 y: (string){ string } 93 res: (struct){ 94 d: (string){ string } 95 s: (_|_){ 96 // [incomplete] f1.res.s: non-concrete value string in operand to +: 97 // ./in.cue:5:25 98 // ./in.cue:5:14 99 // f1.res.s: non-concrete value string in operand to +: 100 // ./in.cue:6:34 101 // ./in.cue:5:14 102 } 103 } 104 } 105 a: (struct){ 106 b: (struct){ 107 c: (struct){ 108 d: (string){ string } 109 s: (_|_){ 110 // [incomplete] a.b.c.s: non-concrete value string in operand to +: 111 // ./in.cue:5:25 112 // ./in.cue:5:14 113 // a.b.c.s: non-concrete value string in operand to +: 114 // ./in.cue:6:34 115 // ./in.cue:5:14 116 } 117 } 118 } 119 } 120 } 121 -- diff/-out/evalalpha<==>+out/eval -- 122 diff old new 123 --- old 124 +++ new 125 @@ -13,16 +13,10 @@ 126 s: (_|_){ 127 // [incomplete] f1.res.s: non-concrete value string in operand to +: 128 // ./in.cue:5:25 129 - // ./in.cue:3:34 130 - // ./in.cue:5:14 131 - // ./in.cue:6:23 132 - // ./in.cue:7:13 133 + // ./in.cue:5:14 134 // f1.res.s: non-concrete value string in operand to +: 135 // ./in.cue:6:34 136 - // ./in.cue:3:34 137 - // ./in.cue:5:14 138 - // ./in.cue:6:23 139 - // ./in.cue:7:13 140 + // ./in.cue:5:14 141 } 142 } 143 } 144 @@ -34,13 +28,9 @@ 145 // [incomplete] a.b.c.s: non-concrete value string in operand to +: 146 // ./in.cue:5:25 147 // ./in.cue:5:14 148 - // ./in.cue:6:23 149 - // ./in.cue:7:13 150 // a.b.c.s: non-concrete value string in operand to +: 151 // ./in.cue:6:34 152 // ./in.cue:5:14 153 - // ./in.cue:6:23 154 - // ./in.cue:7:13 155 } 156 } 157 } 158 -- diff/todo/p2 -- 159 Missing error positions. 160 -- out/eval -- 161 (struct){ 162 r1: (struct){ 163 y: (string){ "c" } 164 res: (struct){ 165 d: (string){ "c" } 166 s: (string){ "ac" } 167 } 168 } 169 f1: (struct){ 170 y: (string){ string } 171 res: (struct){ 172 d: (string){ string } 173 s: (_|_){ 174 // [incomplete] f1.res.s: non-concrete value string in operand to +: 175 // ./in.cue:5:25 176 // ./in.cue:3:34 177 // ./in.cue:5:14 178 // ./in.cue:6:23 179 // ./in.cue:7:13 180 // f1.res.s: non-concrete value string in operand to +: 181 // ./in.cue:6:34 182 // ./in.cue:3:34 183 // ./in.cue:5:14 184 // ./in.cue:6:23 185 // ./in.cue:7:13 186 } 187 } 188 } 189 a: (struct){ 190 b: (struct){ 191 c: (struct){ 192 d: (string){ string } 193 s: (_|_){ 194 // [incomplete] a.b.c.s: non-concrete value string in operand to +: 195 // ./in.cue:5:25 196 // ./in.cue:5:14 197 // ./in.cue:6:23 198 // ./in.cue:7:13 199 // a.b.c.s: non-concrete value string in operand to +: 200 // ./in.cue:6:34 201 // ./in.cue:5:14 202 // ./in.cue:6:23 203 // ./in.cue:7:13 204 } 205 } 206 } 207 } 208 }