| # DO NOT EDIT; generated by go run testdata/gen.go |
| # |
| #name: definitions with embedding |
| #evalPartial |
| -- in.cue -- |
| #E: { |
| a: {b: int} |
| } |
| |
| #S: { |
| #E |
| a: {c: int} |
| b: 3 |
| } |
| |
| // adding a field to a nested struct that is closed. |
| #e1: #S & {a: d: 4} |
| |
| // literal struct not closed until after unification. |
| #v1: #S & {a: c: 4} |
| -- out/def -- |
| #E: { |
| a: { |
| b: int |
| } |
| } |
| #S: { |
| a: { |
| c: int |
| } |
| b: 3 |
| #E |
| } |
| |
| // adding a field to a nested struct that is closed. |
| #e1: #S & { |
| a: { |
| d: 4 |
| } |
| } |
| |
| // literal struct not closed until after unification. |
| #v1: #S & { |
| a: { |
| c: 4 |
| } |
| } |
| -- out/export -- |
| |
| -- out/yaml -- |
| {} |
| -- out/json -- |
| {} |
| -- out/legacy-debug -- |
| <0>{#E: <1>C{a: <2>C{b: int}}, #S: <3>C{a: <4>C{b: int, c: int}, b: 3}, #e1: <5>C{a: _|_(4:field "d" not allowed in closed struct), b: 3}, #v1: <6>C{a: <7>C{b: int, c: 4}, b: 3}} |
| -- out/compile -- |
| --- in.cue |
| { |
| #E: { |
| a: { |
| b: int |
| } |
| } |
| #S: { |
| 〈1;#E〉 |
| a: { |
| c: int |
| } |
| b: 3 |
| } |
| #e1: (〈0;#S〉 & { |
| a: { |
| d: 4 |
| } |
| }) |
| #v1: (〈0;#S〉 & { |
| a: { |
| c: 4 |
| } |
| }) |
| } |
| -- out/eval -- |
| Errors: |
| #e1.a: field not allowed: d: |
| ./in.cue:2:5 |
| ./in.cue:6:2 |
| ./in.cue:7:5 |
| ./in.cue:12:6 |
| ./in.cue:12:15 |
| |
| Result: |
| (_|_){ |
| // [eval] |
| #E: (#struct){ |
| a: (#struct){ |
| b: (int){ int } |
| } |
| } |
| #S: (#struct){ |
| a: (#struct){ |
| b: (int){ int } |
| c: (int){ int } |
| } |
| b: (int){ 3 } |
| } |
| #e1: (_|_){ |
| // [eval] |
| a: (_|_){ |
| // [eval] |
| b: (int){ int } |
| c: (int){ int } |
| d: (_|_){ |
| // [eval] #e1.a: field not allowed: d: |
| // ./in.cue:2:5 |
| // ./in.cue:6:2 |
| // ./in.cue:7:5 |
| // ./in.cue:12:6 |
| // ./in.cue:12:15 |
| } |
| } |
| b: (int){ 3 } |
| } |
| #v1: (#struct){ |
| a: (#struct){ |
| b: (int){ int } |
| c: (int){ 4 } |
| } |
| b: (int){ 3 } |
| } |
| } |