61
61
a: [a]
62
62
}
63
63
64
+ // Issue #555
65
+ b8: {
66
+ x: a
67
+ a: f: b
68
+ b: a | string
69
+ }
70
+
71
+ // Issue #555
72
+ b9: {
73
+ #a: string | #b | #ref
74
+ #b: {
75
+ c: [#a, #a, #a]
76
+ }
77
+ #ref: ref: string
78
+ x: #b | #ref
79
+ }
80
+
81
+ // Issue #534
82
+ b10: {
83
+ a: close({
84
+ b: string | a | c
85
+ })
86
+ c: close({
87
+ d: string | a
88
+ })
89
+ }
90
+
64
91
c1: {
65
92
a: {
66
93
b: {}
@@ -236,43 +263,43 @@ e1.b.c: structural cycle
236
263
e2.a.c: structural cycle
237
264
e2.b.c: structural cycle
238
265
e3.a: conflicting values [a] and {c:a} (mismatched types list and struct):
239
- ./in.cue:114 :8
240
- ./in.cue:115 :8
266
+ ./in.cue:141 :8
267
+ ./in.cue:142 :8
241
268
e3.a.0: conflicting values [a] and {c:a} (mismatched types list and struct):
242
- ./in.cue:114 :8
243
- ./in.cue:115 :8
269
+ ./in.cue:141 :8
270
+ ./in.cue:142 :8
244
271
e3.a.0: structural cycle
245
272
e3.a.c: conflicting values [a] and {c:a} (mismatched types list and struct):
246
- ./in.cue:114 :8
247
- ./in.cue:115 :8
273
+ ./in.cue:141 :8
274
+ ./in.cue:142 :8
248
275
e3.a.c: structural cycle
249
276
e3.b: conflicting values [b] and {c:b} (mismatched types list and struct):
250
- ./in.cue:117 :8
251
- ./in.cue:118 :8
277
+ ./in.cue:144 :8
278
+ ./in.cue:145 :8
252
279
e3.b.0: conflicting values [b] and {c:b} (mismatched types list and struct):
253
- ./in.cue:117 :8
254
- ./in.cue:118 :8
280
+ ./in.cue:144 :8
281
+ ./in.cue:145 :8
255
282
e3.b.0: structural cycle
256
283
e3.b.c: conflicting values [b] and {c:b} (mismatched types list and struct):
257
- ./in.cue:117 :8
258
- ./in.cue:118 :8
284
+ ./in.cue:144 :8
285
+ ./in.cue:145 :8
259
286
e3.b.c: structural cycle
260
287
e4.a.0: conflicting values [{c:1}] and {} (mismatched types list and struct):
261
- ./in.cue:122 :13
262
- ./in.cue:123 :9
288
+ ./in.cue:149 :13
289
+ ./in.cue:150 :9
263
290
e4.b.0: conflicting values [{c:1}] and {} (mismatched types list and struct):
264
- ./in.cue:125 :9
265
- ./in.cue:126 :13
291
+ ./in.cue:152 :9
292
+ ./in.cue:153 :13
266
293
z1.z.f.h.h: structural cycle
267
294
z1.z.g.h: structural cycle
268
295
b4.x.y.0: structural cycle:
269
296
./in.cue:41:8
270
297
d2.a.b.c.d.t: structural cycle:
271
- ./in.cue:79 :8
298
+ ./in.cue:106 :8
272
299
d2.r: structural cycle:
273
- ./in.cue:79 :8
300
+ ./in.cue:106 :8
274
301
0: structural cycle:
275
- ./in.cue:89 :19
302
+ ./in.cue:116 :19
276
303
277
304
Result:
278
305
(_|_){
@@ -420,6 +447,61 @@ Result:
420
447
}
421
448
}
422
449
}
450
+ b8: (struct){
451
+ x: (struct){
452
+ f: (string){ string }
453
+ }
454
+ a: (struct){
455
+ f: (string){ string }
456
+ }
457
+ b: (string){ string }
458
+ }
459
+ b9: (struct){
460
+ #a: ((string|struct)){ |((string){ string }, (#struct){
461
+ ref: (string){ string }
462
+ }) }
463
+ #b: (#struct){
464
+ c: (#list){
465
+ 0: ((string|struct)){ |((string){ string }, (#struct){
466
+ ref: (string){ string }
467
+ }) }
468
+ 1: ((string|struct)){ |((string){ string }, (#struct){
469
+ ref: (string){ string }
470
+ }) }
471
+ 2: ((string|struct)){ |((string){ string }, (#struct){
472
+ ref: (string){ string }
473
+ }) }
474
+ }
475
+ }
476
+ #ref: (#struct){
477
+ ref: (string){ string }
478
+ }
479
+ x: (struct){ |((#struct){
480
+ c: (#list){
481
+ 0: ((string|struct)){ |((string){ string }, (#struct){
482
+ ref: (string){ string }
483
+ }) }
484
+ 1: ((string|struct)){ |((string){ string }, (#struct){
485
+ ref: (string){ string }
486
+ }) }
487
+ 2: ((string|struct)){ |((string){ string }, (#struct){
488
+ ref: (string){ string }
489
+ }) }
490
+ }
491
+ }, (#struct){
492
+ ref: (string){ string }
493
+ }) }
494
+ }
495
+ b10: (struct){
496
+ a: (#struct){
497
+ b: ((string|struct)){ |((string){ string }, (#struct){
498
+ d: (string){ string }
499
+ }) }
500
+ }
501
+ c: (#struct){
502
+ d: (string){ string }
503
+ }
504
+ }
423
505
c1: (_|_){
424
506
// [structural cycle]
425
507
a: (_|_){
@@ -483,11 +565,11 @@ Result:
483
565
// [structural cycle]
484
566
x: (_|_){
485
567
// [structural cycle] d2.a.b.c.d.t: structural cycle:
486
- // ./in.cue:79 :8
568
+ // ./in.cue:106 :8
487
569
}
488
570
r: (_|_){
489
571
// [structural cycle] d2.r: structural cycle:
490
- // ./in.cue:79 :8
572
+ // ./in.cue:106 :8
491
573
c: (_|_){// {
492
574
// d: {
493
575
// h: int
@@ -530,13 +612,13 @@ Result:
530
612
// [structural cycle]
531
613
c: (_|_){
532
614
// [structural cycle] 0: structural cycle:
533
- // ./in.cue:89 :19
615
+ // ./in.cue:116 :19
534
616
}
535
617
}
536
618
}
537
619
indirect: (_|_){
538
620
// [structural cycle] 0: structural cycle:
539
- // ./in.cue:89 :19
621
+ // ./in.cue:116 :19
540
622
}
541
623
i: (int){ 1 }
542
624
}
@@ -548,13 +630,13 @@ Result:
548
630
// [structural cycle]
549
631
c: (_|_){
550
632
// [structural cycle] 0: structural cycle:
551
- // ./in.cue:89 :19
633
+ // ./in.cue:116 :19
552
634
}
553
635
}
554
636
}
555
637
indirect: (_|_){
556
638
// [structural cycle] 0: structural cycle:
557
- // ./in.cue:89 :19
639
+ // ./in.cue:116 :19
558
640
}
559
641
i: (int){ 0 }
560
642
}
@@ -601,12 +683,12 @@ Result:
601
683
// [eval]
602
684
a: (_|_){
603
685
// [eval] e3.a: conflicting values [a] and {c:a} (mismatched types list and struct):
604
- // ./in.cue:114 :8
605
- // ./in.cue:115 :8
686
+ // ./in.cue:141 :8
687
+ // ./in.cue:142 :8
606
688
c: (_|_){
607
689
// [eval] e3.a.c: conflicting values [a] and {c:a} (mismatched types list and struct):
608
- // ./in.cue:114 :8
609
- // ./in.cue:115 :8
690
+ // ./in.cue:141 :8
691
+ // ./in.cue:142 :8
610
692
// e3.a.c: structural cycle
611
693
c: (_|_){// 〈1;a〉
612
694
}
@@ -615,8 +697,8 @@ Result:
615
697
}
616
698
0: (_|_){
617
699
// [eval] e3.a.0: conflicting values [a] and {c:a} (mismatched types list and struct):
618
- // ./in.cue:114 :8
619
- // ./in.cue:115 :8
700
+ // ./in.cue:141 :8
701
+ // ./in.cue:142 :8
620
702
// e3.a.0: structural cycle
621
703
c: (_|_){// 〈1;a〉
622
704
}
@@ -626,12 +708,12 @@ Result:
626
708
}
627
709
b: (_|_){
628
710
// [eval] e3.b: conflicting values [b] and {c:b} (mismatched types list and struct):
629
- // ./in.cue:117 :8
630
- // ./in.cue:118 :8
711
+ // ./in.cue:144 :8
712
+ // ./in.cue:145 :8
631
713
c: (_|_){
632
714
// [eval] e3.b.c: conflicting values [b] and {c:b} (mismatched types list and struct):
633
- // ./in.cue:117 :8
634
- // ./in.cue:118 :8
715
+ // ./in.cue:144 :8
716
+ // ./in.cue:145 :8
635
717
// e3.b.c: structural cycle
636
718
c: (_|_){// 〈1;b〉
637
719
}
@@ -640,8 +722,8 @@ Result:
640
722
}
641
723
0: (_|_){
642
724
// [eval] e3.b.0: conflicting values [b] and {c:b} (mismatched types list and struct):
643
- // ./in.cue:117 :8
644
- // ./in.cue:118 :8
725
+ // ./in.cue:144 :8
726
+ // ./in.cue:145 :8
645
727
// e3.b.0: structural cycle
646
728
c: (_|_){// 〈1;b〉
647
729
}
@@ -656,8 +738,8 @@ Result:
656
738
// [eval]
657
739
0: (_|_){
658
740
// [eval] e4.a.0: conflicting values [{c:1}] and {} (mismatched types list and struct):
659
- // ./in.cue:122 :13
660
- // ./in.cue:123 :9
741
+ // ./in.cue:149 :13
742
+ // ./in.cue:150 :9
661
743
0: (struct){
662
744
c: (int){ 1 }
663
745
}
@@ -667,8 +749,8 @@ Result:
667
749
// [eval]
668
750
0: (_|_){
669
751
// [eval] e4.b.0: conflicting values [{c:1}] and {} (mismatched types list and struct):
670
- // ./in.cue:125 :9
671
- // ./in.cue:126 :13
752
+ // ./in.cue:152 :9
753
+ // ./in.cue:153 :13
672
754
0: (struct){
673
755
c: (int){ 1 }
674
756
}
@@ -779,8 +861,6 @@ Result:
779
861
// [structural cycle]
780
862
h: (_|_){
781
863
// [structural cycle] z1.z.f.h.h: structural cycle
782
- h: (_|_){// 〈1;g〉
783
- }
784
864
}
785
865
}
786
866
}
@@ -932,6 +1012,35 @@ Result:
932
1012
〈0;a〉,
933
1013
]
934
1014
}
1015
+ b8: {
1016
+ x: 〈0;a〉
1017
+ a: {
1018
+ f: 〈1;b〉
1019
+ }
1020
+ b: (〈0;a〉|string)
1021
+ }
1022
+ b9: {
1023
+ #a: (string|〈0;#b〉|〈0;#ref〉)
1024
+ #b: {
1025
+ c: [
1026
+ 〈1;#a〉,
1027
+ 〈1;#a〉,
1028
+ 〈1;#a〉,
1029
+ ]
1030
+ }
1031
+ #ref: {
1032
+ ref: string
1033
+ }
1034
+ x: (〈0;#b〉|〈0;#ref〉)
1035
+ }
1036
+ b10: {
1037
+ a: close({
1038
+ b: (string|〈1;a〉|〈1;c〉)
1039
+ })
1040
+ c: close({
1041
+ d: (string|〈1;a〉)
1042
+ })
1043
+ }
935
1044
c1: {
936
1045
a: {
937
1046
b: {}
0 commit comments