github.com/solo-io/cue@v0.4.7/cue/testdata/resolve/039_reference_to_root.txtar (about) 1 # DO NOT EDIT; generated by go run testdata/gen.go 2 # 3 #name: reference to root 4 #evalPartial 5 -- in.cue -- 6 a: {b: int} 7 c: a & { 8 b: 100 9 d: a.b + 3 // do not resolve as c != a. 10 } 11 x: { 12 b: int 13 c: b + 5 14 } 15 y: x & { 16 b: 100 17 // c should resolve to 105 18 } 19 v: { 20 b: int 21 c: v.b + 5 // reference starting from copied node. 22 } 23 w: v & {b: 100} 24 wp: v & {b: 100} 25 -- out/def -- 26 x: { 27 b: int 28 c: b + 5 29 } 30 y: x & { 31 b: 100 32 } 33 a: { 34 b: int 35 } 36 c: a & { 37 b: 100 38 d: a.b + 3 39 } 40 v: { 41 b: int 42 c: v.b + 5 43 } 44 w: v & { 45 b: 100 46 } 47 wp: v & { 48 b: 100 49 } 50 -- out/legacy-debug -- 51 <0>{x: <1>{b: int, c: (<2>.b + 5)}, y: <3>{b: 100, c: 105}, a: <4>{b: int}, c: <5>{b: 100, d: (<6>.a.b + 3)}, v: <7>{b: int, c: (<6>.v.b + 5)}, w: <8>{b: 100, c: (<6>.v.b + 5)}, wp: <9>{b: 100, c: (<6>.v.b + 5)}} 52 -- out/compile -- 53 --- in.cue 54 { 55 a: { 56 b: int 57 } 58 c: (〈0;a〉 & { 59 b: 100 60 d: (〈1;a〉.b + 3) 61 }) 62 x: { 63 b: int 64 c: (〈0;b〉 + 5) 65 } 66 y: (〈0;x〉 & { 67 b: 100 68 }) 69 v: { 70 b: int 71 c: (〈1;v〉.b + 5) 72 } 73 w: (〈0;v〉 & { 74 b: 100 75 }) 76 wp: (〈0;v〉 & { 77 b: 100 78 }) 79 } 80 -- out/eval -- 81 (struct){ 82 a: (struct){ 83 b: (int){ int } 84 } 85 c: (struct){ 86 b: (int){ 100 } 87 d: (_|_){ 88 // [incomplete] c.d: non-concrete value int in operand to +: 89 // ./in.cue:4:5 90 // ./in.cue:1:5 91 } 92 } 93 x: (struct){ 94 b: (int){ int } 95 c: (_|_){ 96 // [incomplete] x.c: non-concrete value int in operand to +: 97 // ./in.cue:8:5 98 // ./in.cue:7:2 99 } 100 } 101 y: (struct){ 102 b: (int){ 100 } 103 c: (int){ 105 } 104 } 105 v: (struct){ 106 b: (int){ int } 107 c: (_|_){ 108 // [incomplete] v.c: non-concrete value int in operand to +: 109 // ./in.cue:16:5 110 // ./in.cue:15:2 111 } 112 } 113 w: (struct){ 114 b: (int){ 100 } 115 c: (_|_){ 116 // [incomplete] w.c: non-concrete value int in operand to +: 117 // ./in.cue:16:5 118 // ./in.cue:15:2 119 } 120 } 121 wp: (struct){ 122 b: (int){ 100 } 123 c: (_|_){ 124 // [incomplete] wp.c: non-concrete value int in operand to +: 125 // ./in.cue:16:5 126 // ./in.cue:15:2 127 } 128 } 129 }