cuelang.org/go@v0.13.0/cue/testdata/fulleval/043_optional_expanded_before_lookup.txtar (about) 1 #name: optional expanded before lookup 2 #evalFull 3 -- in.cue -- 4 test: [ID=_]: { 5 name: ID 6 } 7 8 test: A: { 9 field1: "1" 10 field2: "2" 11 } 12 13 B: test.A & {} 14 -- out/def -- 15 test: { 16 {[ID=string]: { 17 name: ID 18 }} 19 A: { 20 name: "A" 21 field1: "1" 22 field2: "2" 23 } 24 } 25 B: test.A & {} 26 -- out/export -- 27 test: { 28 A: { 29 name: "A" 30 field1: "1" 31 field2: "2" 32 } 33 } 34 B: { 35 name: "A" 36 field1: "1" 37 field2: "2" 38 } 39 -- out/yaml -- 40 test: 41 A: 42 name: A 43 field1: "1" 44 field2: "2" 45 B: 46 name: A 47 field1: "1" 48 field2: "2" 49 -- out/json -- 50 {"test":{"A":{"name":"A","field1":"1","field2":"2"}},"B":{"name":"A","field1":"1","field2":"2"}} 51 -- out/legacy-debug -- 52 <0>{test: <1>{[]: <2>(ID: string)-><3>{name: <2>.ID}, A: <4>{name: "A", field1: "1", field2: "2"}}, B: <5>{name: "A", field1: "1", field2: "2"}} 53 -- out/compile -- 54 --- in.cue 55 { 56 test: { 57 [_]: { 58 name: 〈1;-〉 59 } 60 } 61 test: { 62 A: { 63 field1: "1" 64 field2: "2" 65 } 66 } 67 B: (〈0;test〉.A & {}) 68 } 69 -- out/eval/stats -- 70 Leaks: 0 71 Freed: 10 72 Reused: 6 73 Allocs: 4 74 Retain: 0 75 76 Unifications: 10 77 Conjuncts: 15 78 Disjuncts: 10 79 -- out/eval -- 80 (struct){ 81 test: (struct){ 82 A: (struct){ 83 field1: (string){ "1" } 84 field2: (string){ "2" } 85 name: (string){ "A" } 86 } 87 } 88 B: (struct){ 89 field1: (string){ "1" } 90 field2: (string){ "2" } 91 name: (string){ "A" } 92 } 93 }