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