github.com/solo-io/cue@v0.4.7/cue/testdata/definitions/036_closing_with_failed_optional.txtar (about) 1 # DO NOT EDIT; generated by go run testdata/gen.go 2 # 3 #name: closing with failed optional 4 #evalPartial 5 -- in.cue -- 6 #k1: {a: int, b?: int} & #A // closed({a: int}) 7 8 #k2: #A & {a: int, b?: int} // closed({a: int}) 9 10 o1: {a?: 3} & {a?: 4} // {a?: _|_} 11 12 // Optional fields with error values can be elimintated when closing 13 #o2: {a?: 3} & {a?: 4} // close({}) 14 15 #d1: {a?: 2, b: 4} | {a?: 3, c: 5} 16 17 v1: #d1 & {a?: 3, b: 4} // close({b: 4}) 18 19 #A: {a: int} 20 -- out/def -- 21 #k1: { 22 a: int 23 b?: int 24 } & #A 25 #A: { 26 a: int 27 } 28 #k2: #A & { 29 a: int 30 b?: int 31 } 32 o1: { 33 a?: _|_ // conflicting values 3 and 4 34 } 35 36 // Optional fields with error values can be elimintated when closing 37 #o2: { 38 a?: _|_ // conflicting values 3 and 4 39 } 40 #d1: { 41 a?: 2 42 b: 4 43 } | { 44 a?: 3 45 c: 5 46 } 47 v1: #d1 & { 48 a?: 3 49 b: 4 50 } 51 -- out/export -- 52 o1: {} 53 v1: { 54 b: 4 55 } 56 -- out/yaml -- 57 o1: {} 58 v1: 59 b: 4 60 -- out/json -- 61 {"o1":{},"v1":{"b":4}} 62 -- out/legacy-debug -- 63 <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}} 64 -- out/compile -- 65 --- in.cue 66 { 67 #k1: ({ 68 a: int 69 b?: int 70 } & 〈0;#A〉) 71 #k2: (〈0;#A〉 & { 72 a: int 73 b?: int 74 }) 75 o1: ({ 76 a?: 3 77 } & { 78 a?: 4 79 }) 80 #o2: ({ 81 a?: 3 82 } & { 83 a?: 4 84 }) 85 #d1: ({ 86 a?: 2 87 b: 4 88 }|{ 89 a?: 3 90 c: 5 91 }) 92 v1: (〈0;#d1〉 & { 93 a?: 3 94 b: 4 95 }) 96 #A: { 97 a: int 98 } 99 } 100 -- out/eval -- 101 (struct){ 102 #k1: (#struct){ 103 a: (int){ int } 104 } 105 #k2: (#struct){ 106 a: (int){ int } 107 } 108 o1: (struct){ 109 } 110 #o2: (#struct){ 111 } 112 #d1: (#struct){ |((#struct){ 113 b: (int){ 4 } 114 }, (#struct){ 115 c: (int){ 5 } 116 }) } 117 v1: (#struct){ 118 b: (int){ 4 } 119 } 120 #A: (#struct){ 121 a: (int){ int } 122 } 123 }