github.com/solo-io/cue@v0.4.7/cue/testdata/resolve/035_excluded_embedding_from_closing.txtar (about) 1 # DO NOT EDIT; generated by go run testdata/gen.go 2 # 3 #name: excluded embedding from closing 4 #evalPartial 5 -- in.cue -- 6 #S: { 7 a: {c: int} 8 { 9 c: {d: int} 10 } 11 let B = {open: int} 12 b: B 13 } 14 V: #S & { 15 c: e: int 16 b: extra: int 17 } 18 -- out/def -- 19 #S: { 20 a: { 21 c: int 22 } 23 c: { 24 d: int 25 ... 26 } 27 b: { 28 open: int 29 ... 30 } 31 } 32 V: #S & { 33 c: { 34 e: int 35 } 36 b: { 37 extra: int 38 } 39 } 40 -- out/legacy-debug -- 41 <0>{#S: <1>C{a: <2>C{c: int}, c: <3>{d: int}, b: <4>{open: int}}, V: <5>C{a: <6>C{c: int}, c: <7>{d: int, e: int}, b: <8>{open: int, extra: int}}} 42 -- out/compile -- 43 --- in.cue 44 { 45 #S: { 46 a: { 47 c: int 48 } 49 { 50 c: { 51 d: int 52 } 53 } 54 b: 〈0;let B〉 55 } 56 V: (〈0;#S〉 & { 57 c: { 58 e: int 59 } 60 b: { 61 extra: int 62 } 63 }) 64 } 65 -- out/eval -- 66 Errors: 67 V.b: field not allowed: extra: 68 ./in.cue:6:10 69 ./in.cue:7:5 70 ./in.cue:9:4 71 ./in.cue:11:5 72 V.c: field not allowed: e: 73 ./in.cue:3:2 74 ./in.cue:4:6 75 ./in.cue:9:4 76 ./in.cue:10:5 77 78 Result: 79 (_|_){ 80 // [eval] 81 #S: (#struct){ 82 c: (#struct){ 83 d: (int){ int } 84 } 85 a: (#struct){ 86 c: (int){ int } 87 } 88 b: (#struct){ 89 open: (int){ int } 90 } 91 } 92 V: (_|_){ 93 // [eval] 94 c: (_|_){ 95 // [eval] 96 d: (int){ int } 97 e: (_|_){ 98 // [eval] V.c: field not allowed: e: 99 // ./in.cue:3:2 100 // ./in.cue:4:6 101 // ./in.cue:9:4 102 // ./in.cue:10:5 103 } 104 } 105 a: (#struct){ 106 c: (int){ int } 107 } 108 b: (_|_){ 109 // [eval] 110 open: (int){ int } 111 extra: (_|_){ 112 // [eval] V.b: field not allowed: extra: 113 // ./in.cue:6:10 114 // ./in.cue:7:5 115 // ./in.cue:9:4 116 // ./in.cue:11:5 117 } 118 } 119 } 120 }