# DO NOT EDIT; generated by go run testdata/gen.go # #name: closing with failed optional #evalPartial -- in.cue -- #k1: {a: int, b?: int} & #A // closed({a: int}) #k2: #A & {a: int, b?: int} // closed({a: int}) o1: {a?: 3} & {a?: 4} // {a?: _|_} // Optional fields with error values can be elimintated when closing #o2: {a?: 3} & {a?: 4} // close({}) #d1: {a?: 2, b: 4} | {a?: 3, c: 5} v1: #d1 & {a?: 3, b: 4} // close({b: 4}) #A: {a: int} -- out/def -- #k1: { a: int b?: int } & #A #A: { a: int } #k2: #A & { a: int b?: int } o1: { a?: _|_ // conflicting values 3 and 4 } // Optional fields with error values can be elimintated when closing #o2: { a?: _|_ // conflicting values 3 and 4 } #d1: { a?: 2 b: 4 } | { a?: 3 c: 5 } v1: #d1 & { a?: 3 b: 4 } -- out/export -- o1: {} v1: { b: 4 } -- out/yaml -- o1: {} v1: b: 4 -- out/json -- {"o1":{},"v1":{"b":4}} -- out/legacy-debug -- <0>{#k1: <1>C{a: int}, #A: <2>C{a: int}, #k2: <3>C{a: int}, o1: <4>{a?: _|_((3 & 4):conflicting values 3 and 4)}, #o2: <5>C{a?: _|_((3 & 4):conflicting values 3 and 4)}, #d1: (<6>C{a?: 2, b: 4} | <7>C{a?: 3, c: 5}), v1: <8>C{a?: _|_((2 & 3):conflicting values 2 and 3), b: 4}} -- out/compile -- --- in.cue { #k1: ({ a: int b?: int } & 〈0;#A〉) #k2: (〈0;#A〉 & { a: int b?: int }) o1: ({ a?: 3 } & { a?: 4 }) #o2: ({ a?: 3 } & { a?: 4 }) #d1: ({ a?: 2 b: 4 }|{ a?: 3 c: 5 }) v1: (〈0;#d1〉 & { a?: 3 b: 4 }) #A: { a: int } } -- out/eval/stats -- Leaks: 0 Freed: 28 Reused: 23 Allocs: 5 Retain: 1 Unifications: 24 Conjuncts: 43 Disjuncts: 29 -- out/eval -- (struct){ #k1: (#struct){ a: (int){ int } b?: (int){ int } } #k2: (#struct){ a: (int){ int } b?: (int){ int } } o1: (struct){ a?: (_|_){ // [eval] o1.a: conflicting values 4 and 3: // ./in.cue:5:10 // ./in.cue:5:20 } } #o2: (#struct){ a?: (_|_){ // [eval] #o2.a: conflicting values 4 and 3: // ./in.cue:8:11 // ./in.cue:8:21 } } #d1: (#struct){ |((#struct){ a?: (int){ 2 } b: (int){ 4 } }, (#struct){ a?: (int){ 3 } c: (int){ 5 } }) } v1: (#struct){ a?: (_|_){ // [eval] v1.a: conflicting values 2 and 3: // ./in.cue:10:11 // ./in.cue:12:5 // ./in.cue:12:16 } b: (int){ 4 } } #A: (#struct){ a: (int){ int } } }