Skip to content

Commit 5d162df

Browse files
committed
internal/core/adt: add tests for 3958
Issue #3958 Signed-off-by: Marcel van Lohuizen <[email protected]> Change-Id: I6d9ffc7dfa09fc27fdcba4a136dd123d1f357389 Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1216864 Reviewed-by: Daniel Martí <[email protected]> TryBot-Result: CUEcueckoo <[email protected]> Unity-Result: CUE porcuepine <[email protected]>
1 parent eb54082 commit 5d162df

File tree

1 file changed

+94
-23
lines changed

1 file changed

+94
-23
lines changed

cue/testdata/disjunctions/elimination.txtar

Lines changed: 94 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -647,6 +647,18 @@ issue3784: variant2: {
647647
cname?: string
648648
}
649649
}
650+
-- issue3958.cue --
651+
issue3958: t1: {
652+
#schema: int | *1
653+
#schema: int | *3
654+
655+
test1: #schema & {int | *2}
656+
test2: #schema & {int | *4}
657+
}
658+
issue3958: t2: {
659+
a: (int | *4) & (int | *1) & (int | *3) & (int | *8)
660+
b: (int | *4) & (int | *1) & (int | *3)
661+
}
650662
-- out/evalalpha --
651663
(struct){
652664
disambiguateClosed: (struct){
@@ -1732,6 +1744,17 @@ issue3784: variant2: {
17321744
}
17331745
}
17341746
}
1747+
issue3958: (struct){
1748+
t1: (struct){
1749+
#schema: (int){ |((int){ int }, (int){ 3 }, (int){ 1 }) }
1750+
test1: (int){ |(*(int){ 3 }, (int){ int }, (int){ 1 }, (int){ 2 }) }
1751+
test2: (int){ |(*(int){ 3 }, (int){ int }, (int){ 1 }, (int){ 4 }) }
1752+
}
1753+
t2: (struct){
1754+
a: (int){ |((int){ int }, (int){ 8 }, (int){ 3 }, (int){ 1 }, (int){ 4 }) }
1755+
b: (int){ |(*(int){ 3 }, (int){ int }, (int){ 1 }, (int){ 4 }) }
1756+
}
1757+
}
17351758
issue770: (struct){
17361759
#A: (#struct){
17371760
v: (string){ |((string){ "a" }, (string){ "b" }, (string){ "c" }) }
@@ -2608,7 +2631,23 @@ diff old new
26082631
}
26092632
}
26102633
}
2611-
@@ -1216,10 +1097,10 @@
2634+
@@ -1204,12 +1085,12 @@
2635+
issue3958: (struct){
2636+
t1: (struct){
2637+
#schema: (int){ |((int){ int }, (int){ 3 }, (int){ 1 }) }
2638+
- test1: (int){ |((int){ int }, (int){ 2 }, (int){ 3 }, (int){ 1 }) }
2639+
- test2: (int){ |((int){ int }, (int){ 4 }, (int){ 3 }, (int){ 1 }) }
2640+
+ test1: (int){ |(*(int){ 3 }, (int){ int }, (int){ 1 }, (int){ 2 }) }
2641+
+ test2: (int){ |(*(int){ 3 }, (int){ int }, (int){ 1 }, (int){ 4 }) }
2642+
}
2643+
t2: (struct){
2644+
a: (int){ |((int){ int }, (int){ 8 }, (int){ 3 }, (int){ 1 }, (int){ 4 }) }
2645+
- b: (int){ |((int){ int }, (int){ 3 }, (int){ 1 }, (int){ 4 }) }
2646+
+ b: (int){ |(*(int){ 3 }, (int){ int }, (int){ 1 }, (int){ 4 }) }
2647+
}
2648+
}
2649+
issue770: (struct){
2650+
@@ -1227,10 +1108,10 @@
26122651
v: (string){ |(*(string){ "a" }, (string){ "b" }, (string){ "c" }) }
26132652
}
26142653
c: (#struct){
@@ -2622,57 +2661,57 @@ diff old new
26222661
}
26232662
}
26242663
-- out/evalalpha/stats --
2625-
Leaks: 2786
2664+
Leaks: 2856
26262665
Freed: 0
26272666
Reused: 0
2628-
Allocs: 2786
2667+
Allocs: 2856
26292668
Retain: 0
26302669

2631-
Unifications: 686
2632-
Conjuncts: 2767
2633-
Disjuncts: 1290
2670+
Unifications: 694
2671+
Conjuncts: 2853
2672+
Disjuncts: 1352
26342673

26352674
CloseIDElems: 4360
2636-
NumCloseIDs: 277
2675+
NumCloseIDs: 281
26372676
-- diff/-out/evalalpha/stats<==>+out/eval/stats --
26382677
diff old new
26392678
--- old
26402679
+++ new
26412680
@@ -1,12 +1,12 @@
26422681
-Leaks: 9
2643-
-Freed: 2786
2644-
-Reused: 2771
2682+
-Freed: 2856
2683+
-Reused: 2841
26452684
-Allocs: 24
26462685
-Retain: 123
26472686
-
2648-
-Unifications: 1427
2649-
-Conjuncts: 4068
2650-
-Disjuncts: 2909
2687+
-Unifications: 1435
2688+
-Conjuncts: 4154
2689+
-Disjuncts: 2979
26512690
-
26522691
-CloseIDElems: 0
26532692
-NumCloseIDs: 10
2654-
+Leaks: 2786
2693+
+Leaks: 2856
26552694
+Freed: 0
26562695
+Reused: 0
2657-
+Allocs: 2786
2696+
+Allocs: 2856
26582697
+Retain: 0
26592698
+
2660-
+Unifications: 686
2661-
+Conjuncts: 2767
2662-
+Disjuncts: 1290
2699+
+Unifications: 694
2700+
+Conjuncts: 2853
2701+
+Disjuncts: 1352
26632702
+
26642703
+CloseIDElems: 4360
2665-
+NumCloseIDs: 277
2704+
+NumCloseIDs: 281
26662705
-- out/eval/stats --
26672706
Leaks: 9
2668-
Freed: 2786
2669-
Reused: 2771
2707+
Freed: 2856
2708+
Reused: 2841
26702709
Allocs: 24
26712710
Retain: 123
26722711

2673-
Unifications: 1427
2674-
Conjuncts: 4068
2675-
Disjuncts: 2909
2712+
Unifications: 1435
2713+
Conjuncts: 4154
2714+
Disjuncts: 2979
26762715

26772716
CloseIDElems: 0
26782717
NumCloseIDs: 10
@@ -3891,6 +3930,17 @@ Result:
38913930
}
38923931
}
38933932
}
3933+
issue3958: (struct){
3934+
t1: (struct){
3935+
#schema: (int){ |((int){ int }, (int){ 3 }, (int){ 1 }) }
3936+
test1: (int){ |((int){ int }, (int){ 2 }, (int){ 3 }, (int){ 1 }) }
3937+
test2: (int){ |((int){ int }, (int){ 4 }, (int){ 3 }, (int){ 1 }) }
3938+
}
3939+
t2: (struct){
3940+
a: (int){ |((int){ int }, (int){ 8 }, (int){ 3 }, (int){ 1 }, (int){ 4 }) }
3941+
b: (int){ |((int){ int }, (int){ 3 }, (int){ 1 }, (int){ 4 }) }
3942+
}
3943+
}
38943944
issue770: (struct){
38953945
#A: (#struct){
38963946
v: (string){ |((string){ "a" }, (string){ "b" }, (string){ "c" }) }
@@ -5159,6 +5209,27 @@ Result:
51595209
}
51605210
}
51615211
}
5212+
--- issue3958.cue
5213+
{
5214+
issue3958: {
5215+
t1: {
5216+
#schema: (int|*1)
5217+
#schema: (int|*3)
5218+
test1: (〈0;#schema〉 & {
5219+
(int|*2)
5220+
})
5221+
test2: (〈0;#schema〉 & {
5222+
(int|*4)
5223+
})
5224+
}
5225+
}
5226+
issue3958: {
5227+
t2: {
5228+
a: ((((int|*4) & (int|*1)) & (int|*3)) & (int|*8))
5229+
b: (((int|*4) & (int|*1)) & (int|*3))
5230+
}
5231+
}
5232+
}
51625233
--- issue770.cue
51635234
{
51645235
issue770: {

0 commit comments

Comments
 (0)