| # DO NOT EDIT; generated by go run testdata/gen.go |
| # |
| #name: definitions |
| #evalPartial |
| -- in.cue -- |
| #Foo: { |
| field: int |
| recursive: { |
| field: string |
| } |
| } |
| |
| // Allowed |
| #Foo1: {field: int} |
| #Foo1: {field2: string} |
| |
| foo: #Foo |
| foo: {feild: 2} |
| |
| foo1: #Foo |
| foo1: { |
| field: 2 |
| recursive: { |
| feild: 2 // Not caught as per spec. TODO: change? |
| } |
| } |
| |
| #Bar: { |
| field: int |
| {[A=_]: int} |
| } |
| bar: #Bar |
| bar: {feild: 2} |
| |
| #Mixed: string |
| Mixed: string |
| |
| mixedRec: {#Mixed: string} |
| mixedRec: {Mixed: string} |
| -- out/def -- |
| #Foo: { |
| field: int |
| recursive: { |
| field: string |
| } |
| } |
| |
| // Allowed |
| #Foo1: { |
| field: int |
| field2: string |
| } |
| foo: _|_ // field "feild" not allowed in closed struct |
| foo1: #Foo & { |
| field: 2 |
| recursive: { |
| feild: 2 |
| } |
| } |
| #Bar: { |
| {[A=string]: int} |
| field: int |
| } |
| bar: #Bar & { |
| feild: 2 |
| } |
| #Mixed: string |
| Mixed: string |
| mixedRec: { |
| #Mixed: string |
| Mixed: string |
| } |
| -- out/legacy-debug -- |
| <0>{#Foo: <1>C{field: int, recursive: <2>C{field: string}}, #Foo1: <3>C{field: int, field2: string}, foo: _|_(2:field "feild" not allowed in closed struct), foo1: <4>C{field: 2, recursive: _|_(2:field "feild" not allowed in closed struct)}, #Bar: <5>{[]: <6>(A: string)->int, field: int}, bar: <7>{[]: <8>(A: string)->int, field: int, feild: 2}, #Mixed: string, Mixed: string, mixedRec: <9>{#Mixed: string, Mixed: string}} |
| -- out/compile -- |
| --- in.cue |
| { |
| #Foo: { |
| field: int |
| recursive: { |
| field: string |
| } |
| } |
| #Foo1: { |
| field: int |
| } |
| #Foo1: { |
| field2: string |
| } |
| foo: 〈0;#Foo〉 |
| foo: { |
| feild: 2 |
| } |
| foo1: 〈0;#Foo〉 |
| foo1: { |
| field: 2 |
| recursive: { |
| feild: 2 |
| } |
| } |
| #Bar: { |
| field: int |
| { |
| [_]: int |
| } |
| } |
| bar: 〈0;#Bar〉 |
| bar: { |
| feild: 2 |
| } |
| #Mixed: string |
| Mixed: string |
| mixedRec: { |
| #Mixed: string |
| } |
| mixedRec: { |
| Mixed: string |
| } |
| } |
| -- out/eval -- |
| Errors: |
| foo: field not allowed: feild: |
| ./in.cue:1:7 |
| ./in.cue:12:6 |
| ./in.cue:13:7 |
| foo1.recursive: field not allowed: feild: |
| ./in.cue:3:13 |
| ./in.cue:15:7 |
| ./in.cue:19:3 |
| |
| Result: |
| (_|_){ |
| // [eval] |
| #Foo: (#struct){ |
| field: (int){ int } |
| recursive: (#struct){ |
| field: (string){ string } |
| } |
| } |
| #Foo1: (#struct){ |
| field: (int){ int } |
| field2: (string){ string } |
| } |
| foo: (_|_){ |
| // [eval] |
| field: (int){ int } |
| recursive: (#struct){ |
| field: (string){ string } |
| } |
| feild: (_|_){ |
| // [eval] foo: field not allowed: feild: |
| // ./in.cue:1:7 |
| // ./in.cue:12:6 |
| // ./in.cue:13:7 |
| } |
| } |
| foo1: (_|_){ |
| // [eval] |
| field: (int){ 2 } |
| recursive: (_|_){ |
| // [eval] |
| field: (string){ string } |
| feild: (_|_){ |
| // [eval] foo1.recursive: field not allowed: feild: |
| // ./in.cue:3:13 |
| // ./in.cue:15:7 |
| // ./in.cue:19:3 |
| } |
| } |
| } |
| #Bar: (#struct){ |
| field: (int){ int } |
| } |
| bar: (#struct){ |
| field: (int){ int } |
| feild: (int){ 2 } |
| } |
| #Mixed: (string){ string } |
| Mixed: (string){ string } |
| mixedRec: (struct){ |
| #Mixed: (string){ string } |
| Mixed: (string){ string } |
| } |
| } |