1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
#name: continue recursive closing for optionals
#evalFull
-- in.cue --
#S: {
[string]: {a: int}
}
a: #S & {
v: {b: int}
}
-- out/def --
#S: {
[string]: {
a: int
}
}
a: #S & {
v: {
b: int
}
}
-- out/legacy-debug --
<0>{#S: <1>{[]: <2>(_: string)-><3>C{a: int}, }, a: <4>{[]: <5>(_: string)-><6>C{a: int}, v: _|_(int:field "b" not allowed in closed struct)}}
-- out/compile --
--- in.cue
{
#S: {
[string]: {
a: int
}
}
a: (〈0;#S〉 & {
v: {
b: int
}
})
}
-- out/eval/stats --
Leaks: 0
Freed: 6
Reused: 2
Allocs: 4
Retain: 0
Unifications: 6
Conjuncts: 9
Disjuncts: 6
-- out/evalalpha --
Errors:
a.v.b: field not allowed:
./in.cue:5:6
Result:
(_|_){
// [eval]
#S: (#struct){
}
a: (_|_){
// [eval]
v: (_|_){
// [eval]
b: (_|_){
// [eval] a.v.b: field not allowed:
// ./in.cue:5:6
}
a: (int){ int }
}
}
}
-- diff/-out/evalalpha<==>+out/eval --
diff old new
--- old
+++ new
@@ -1,7 +1,5 @@
Errors:
a.v.b: field not allowed:
- ./in.cue:2:12
- ./in.cue:4:4
./in.cue:5:6
Result:
@@ -15,8 +13,6 @@
// [eval]
b: (_|_){
// [eval] a.v.b: field not allowed:
- // ./in.cue:2:12
- // ./in.cue:4:4
// ./in.cue:5:6
}
a: (int){ int }
-- diff/todo/p2 --
Missing positions.
-- out/eval --
Errors:
a.v.b: field not allowed:
./in.cue:2:12
./in.cue:4:4
./in.cue:5:6
Result:
(_|_){
// [eval]
#S: (#struct){
}
a: (_|_){
// [eval]
v: (_|_){
// [eval]
b: (_|_){
// [eval] a.v.b: field not allowed:
// ./in.cue:2:12
// ./in.cue:4:4
// ./in.cue:5:6
}
a: (int){ int }
}
}
}
|