@@ -294,16 +294,40 @@ issue3899: full: {
294
294
deployImage: _versions[spec.image]
295
295
}
296
296
}
297
+ -- issue3891.cue --
298
+ issue3891: reduced: {
299
+ {x: _} | null
300
+ {x: _} | null
301
+ x: *a.y | _
302
+ a: b
303
+ b: y: 1
304
+ }
305
+ issue3891: full: {
306
+ out: #Foo | "never"
307
+ out: #Foo | "never"
308
+ out: _fooTemplate & {
309
+ _input: (_transform & {in: sub1: sub2: "bar"}).out
310
+ }
311
+ _transform: {
312
+ in: _
313
+ out: in
314
+ }
315
+ #Foo: foo?: _
316
+ _fooTemplate: {
317
+ _input: _
318
+ foo: *_input.sub1.sub2 | _
319
+ }
320
+ }
297
321
-- out/eval/stats --
298
- Leaks: 36
299
- Freed: 739
300
- Reused: 725
301
- Allocs: 50
302
- Retain: 95
322
+ Leaks: 40
323
+ Freed: 837
324
+ Reused: 825
325
+ Allocs: 52
326
+ Retain: 130
303
327
304
- Unifications: 430
305
- Conjuncts: 1449
306
- Disjuncts: 803
328
+ Unifications: 506
329
+ Conjuncts: 1619
330
+ Disjuncts: 936
307
331
-- out/evalalpha --
308
332
Errors:
309
333
f: 2 errors in empty disjunction:
@@ -720,6 +744,36 @@ Result:
720
744
}) }
721
745
}
722
746
}
747
+ issue3891: (struct){
748
+ reduced: (struct){
749
+ x: (_){ _ }
750
+ a: ~(issue3891.reduced.b)
751
+ b: (struct){
752
+ y: (int){ 1 }
753
+ }
754
+ }
755
+ full: (struct){
756
+ out: (#struct){
757
+ _input: (struct){
758
+ sub1: (struct){
759
+ sub2: (string){ "bar" }
760
+ }
761
+ }
762
+ foo: (_){ _ }
763
+ }
764
+ _transform: (struct){
765
+ in: (_){ _ }
766
+ out: (_){ _ }
767
+ }
768
+ #Foo: (#struct){
769
+ foo?: (_){ _ }
770
+ }
771
+ _fooTemplate: (struct){
772
+ _input: (_){ _ }
773
+ foo: (_){ _ }
774
+ }
775
+ }
776
+ }
723
777
issue3899: (struct){
724
778
reduced: (struct){
725
779
p1: (struct){
@@ -849,7 +903,29 @@ diff old new
849
903
x: (bool){ true }
850
904
}) }
851
905
bar: (#struct){ |((#struct){
852
- @@ -443,14 +422,14 @@
906
+ @@ -436,10 +415,8 @@
907
+ }
908
+ issue3891: (struct){
909
+ reduced: (struct){
910
+ - x: (_){ |(*(int){ 1 }, (_){ _ }) }
911
+ - a: (struct){
912
+ - y: (int){ 1 }
913
+ - }
914
+ + x: (_){ _ }
915
+ + a: ~(issue3891.reduced.b)
916
+ b: (struct){
917
+ y: (int){ 1 }
918
+ }
919
+ @@ -451,7 +428,7 @@
920
+ sub2: (string){ "bar" }
921
+ }
922
+ }
923
+ - foo: (_){ |(*(string){ "bar" }, (_){ _ }) }
924
+ + foo: (_){ _ }
925
+ }
926
+ _transform: (struct){
927
+ in: (_){ _ }
928
+ @@ -475,14 +452,14 @@
853
929
}
854
930
full: (struct){
855
931
out: (#struct){
@@ -1313,6 +1389,38 @@ Result:
1313
1389
}) }
1314
1390
}
1315
1391
}
1392
+ issue3891: (struct){
1393
+ reduced: (struct){
1394
+ x: (_){ |(*(int){ 1 }, (_){ _ }) }
1395
+ a: (struct){
1396
+ y: (int){ 1 }
1397
+ }
1398
+ b: (struct){
1399
+ y: (int){ 1 }
1400
+ }
1401
+ }
1402
+ full: (struct){
1403
+ out: (#struct){
1404
+ _input: (struct){
1405
+ sub1: (struct){
1406
+ sub2: (string){ "bar" }
1407
+ }
1408
+ }
1409
+ foo: (_){ |(*(string){ "bar" }, (_){ _ }) }
1410
+ }
1411
+ _transform: (struct){
1412
+ in: (_){ _ }
1413
+ out: (_){ _ }
1414
+ }
1415
+ #Foo: (#struct){
1416
+ foo?: (_){ _ }
1417
+ }
1418
+ _fooTemplate: (struct){
1419
+ _input: (_){ _ }
1420
+ foo: (_){ _ }
1421
+ }
1422
+ }
1423
+ }
1316
1424
issue3899: (struct){
1317
1425
reduced: (struct){
1318
1426
p1: (struct){
@@ -1835,6 +1943,50 @@ Result:
1835
1943
}
1836
1944
}
1837
1945
}
1946
+ --- issue3891.cue
1947
+ {
1948
+ issue3891: {
1949
+ reduced: {
1950
+ ({
1951
+ x: _
1952
+ }|null)
1953
+ ({
1954
+ x: _
1955
+ }|null)
1956
+ x: (*〈0;a〉.y|_)
1957
+ a: 〈0;b〉
1958
+ b: {
1959
+ y: 1
1960
+ }
1961
+ }
1962
+ }
1963
+ issue3891: {
1964
+ full: {
1965
+ out: (〈0;#Foo〉|"never")
1966
+ out: (〈0;#Foo〉|"never")
1967
+ out: (〈0;_fooTemplate〉 & {
1968
+ _input: (〈1;_transform〉 & {
1969
+ in: {
1970
+ sub1: {
1971
+ sub2: "bar"
1972
+ }
1973
+ }
1974
+ }).out
1975
+ })
1976
+ _transform: {
1977
+ in: _
1978
+ out: 〈0;in〉
1979
+ }
1980
+ #Foo: {
1981
+ foo?: _
1982
+ }
1983
+ _fooTemplate: {
1984
+ _input: _
1985
+ foo: (*〈0;_input〉.sub1.sub2|_)
1986
+ }
1987
+ }
1988
+ }
1989
+ }
1838
1990
--- issue3899.cue
1839
1991
{
1840
1992
issue3899: {
0 commit comments