| # DO NOT EDIT; generated by go run testdata/gen.go |
| # |
| #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 -- |
| Errors: |
| a.v: field not allowed: b: |
| ./in.cue:2:12 |
| ./in.cue:4:4 |
| ./in.cue:5:6 |
| |
| Result: |
| (_|_){ |
| // [eval] |
| #S: (#struct){ |
| } |
| a: (_|_){ |
| // [eval] |
| v: (_|_){ |
| // [eval] |
| b: (_|_){ |
| // [eval] a.v: field not allowed: b: |
| // ./in.cue:2:12 |
| // ./in.cue:4:4 |
| // ./in.cue:5:6 |
| } |
| a: (int){ int } |
| } |
| } |
| } |