@@ -53,16 +53,31 @@ issue3931: full: {
53
53
expr?: [...string]
54
54
}
55
55
}
56
+ -- issue3946.cue --
57
+ issue3946: reduced:{
58
+ out: [for _, v in _inputs { v }]
59
+ _inputs: [_]: {
60
+ doExtra?: bool
61
+ if doExtra != _|_ {
62
+ if true {
63
+ extra: "yes"
64
+ }
65
+ }
66
+ }
67
+ if true {
68
+ _inputs: input1: name: "input1"
69
+ }
70
+ }
56
71
-- out/eval/stats --
57
- Leaks: 7
58
- Freed: 44
59
- Reused: 38
60
- Allocs: 13
61
- Retain: 3
72
+ Leaks: 10
73
+ Freed: 51
74
+ Reused: 45
75
+ Allocs: 16
76
+ Retain: 6
62
77
63
- Unifications: 47
64
- Conjuncts: 73
65
- Disjuncts: 54
78
+ Unifications: 57
79
+ Conjuncts: 86
80
+ Disjuncts: 67
66
81
-- out/evalalpha --
67
82
(struct){
68
83
full: (struct){
@@ -77,6 +92,16 @@ Disjuncts: 54
77
92
a: (int){ 30080 }
78
93
port: (int){ |(*(int){ 30080 }, (int){ int }) }
79
94
}
95
+ issue3946: (struct){
96
+ reduced: (_|_){
97
+ // [incomplete] issue3946.reduced._inputs.input1.name: cyclic reference to field input1:
98
+ // ./issue3946.cue:11:2
99
+ out: (#list){
100
+ }
101
+ _inputs: (struct){
102
+ }
103
+ }
104
+ }
80
105
issue3931: (struct){
81
106
full: (struct){
82
107
bar: (struct){
@@ -146,7 +171,29 @@ Disjuncts: 54
146
171
diff old new
147
172
--- old
148
173
+++ new
149
- @@ -45,10 +45,7 @@
174
+ @@ -12,18 +12,12 @@
175
+ port: (int){ |(*(int){ 30080 }, (int){ int }) }
176
+ }
177
+ issue3946: (struct){
178
+ - reduced: (struct){
179
+ + reduced: (_|_){
180
+ + // [incomplete] issue3946.reduced._inputs.input1.name: cyclic reference to field input1:
181
+ + // ./issue3946.cue:11:2
182
+ out: (#list){
183
+ - 0: (struct){
184
+ - name: (string){ "input1" }
185
+ - doExtra?: (bool){ bool }
186
+ - }
187
+ }
188
+ _inputs: (struct){
189
+ - input1: (struct){
190
+ - name: (string){ "input1" }
191
+ - doExtra?: (bool){ bool }
192
+ - }
193
+ }
194
+ }
195
+ }
196
+ @@ -61,10 +55,7 @@
150
197
foo: (struct){
151
198
fooData: (struct){
152
199
total: (struct){
@@ -158,7 +205,7 @@ diff old new
158
205
}
159
206
_hidden: (struct){
160
207
extra: (struct){
161
- @@ -56 ,12 +53 ,7 @@
208
+ @@ -72 ,12 +63 ,7 @@
162
209
}
163
210
}
164
211
shared: (struct){
@@ -186,6 +233,22 @@ diff old new
186
233
a: (int){ 30080 }
187
234
port: (int){ |(*(int){ 30080 }, (int){ int }) }
188
235
}
236
+ issue3946: (struct){
237
+ reduced: (struct){
238
+ out: (#list){
239
+ 0: (struct){
240
+ name: (string){ "input1" }
241
+ doExtra?: (bool){ bool }
242
+ }
243
+ }
244
+ _inputs: (struct){
245
+ input1: (struct){
246
+ name: (string){ "input1" }
247
+ doExtra?: (bool){ bool }
248
+ }
249
+ }
250
+ }
251
+ }
189
252
issue3931: (struct){
190
253
full: (struct){
191
254
bar: (struct){
@@ -281,6 +344,35 @@ diff old new
281
344
port: (int|*30080)
282
345
}
283
346
}
347
+ --- issue3946.cue
348
+ {
349
+ issue3946: {
350
+ reduced: {
351
+ out: [
352
+ for _, v in 〈1;_inputs〉 {
353
+ 〈1;v〉
354
+ },
355
+ ]
356
+ _inputs: {
357
+ [_]: {
358
+ doExtra?: bool
359
+ if (〈0;doExtra〉 != _|_(explicit error (_|_ literal) in source)) {
360
+ if true {
361
+ extra: "yes"
362
+ }
363
+ }
364
+ }
365
+ }
366
+ if true {
367
+ _inputs: {
368
+ input1: {
369
+ name: "input1"
370
+ }
371
+ }
372
+ }
373
+ }
374
+ }
375
+ }
284
376
--- let.cue
285
377
{
286
378
issue3931: {
0 commit comments