cuelang.org/go@v0.10.1/cue/testdata/cycle/issue502.txtar (about) 1 -- in.cue -- 2 #T: { 3 config: _ 4 body: _ 5 mas: [string]: { 6 cfg: _ 7 _link: #T 8 link: _link & {config: cfg} 9 } 10 } 11 12 #a: #T & { 13 config: a: int 14 body: config.a 15 mas: one: { 16 cfg: b: config.a 17 _link: { 18 config: b: int 19 body: config.b 20 mas: two: { 21 cfg: c: config.b 22 _link: { 23 config: c: int 24 body: config.c 25 } 26 } 27 } 28 } 29 } 30 31 a: #a & {config: a: 34} 32 -- out/eval/stats -- 33 Leaks: 0 34 Freed: 93 35 Reused: 83 36 Allocs: 10 37 Retain: 0 38 39 Unifications: 93 40 Conjuncts: 264 41 Disjuncts: 93 42 -- out/eval -- 43 (struct){ 44 #T: (#struct){ 45 config: (_){ _ } 46 body: (_){ _ } 47 mas: (#struct){ 48 } 49 } 50 #a: (#struct){ 51 config: (#struct){ 52 a: (int){ int } 53 } 54 body: (int){ int } 55 mas: (#struct){ 56 one: (#struct){ 57 cfg: (#struct){ 58 b: (int){ int } 59 } 60 _link: (#struct){ 61 config: (#struct){ 62 b: (int){ int } 63 } 64 body: (int){ int } 65 mas: (#struct){ 66 two: (#struct){ 67 cfg: (#struct){ 68 c: (int){ int } 69 } 70 _link: (#struct){ 71 config: (#struct){ 72 c: (int){ int } 73 } 74 body: (int){ int } 75 mas: (#struct){ 76 } 77 } 78 link: (#struct){ 79 config: (#struct){ 80 c: (int){ int } 81 } 82 body: (int){ int } 83 mas: (#struct){ 84 } 85 } 86 } 87 } 88 } 89 link: (#struct){ 90 config: (#struct){ 91 b: (int){ int } 92 } 93 body: (int){ int } 94 mas: (#struct){ 95 two: (#struct){ 96 cfg: (#struct){ 97 c: (int){ int } 98 } 99 _link: (#struct){ 100 config: (#struct){ 101 c: (int){ int } 102 } 103 body: (int){ int } 104 mas: (#struct){ 105 } 106 } 107 link: (#struct){ 108 config: (#struct){ 109 c: (int){ int } 110 } 111 body: (int){ int } 112 mas: (#struct){ 113 } 114 } 115 } 116 } 117 } 118 } 119 } 120 } 121 a: (#struct){ 122 config: (#struct){ 123 a: (int){ 34 } 124 } 125 body: (int){ 34 } 126 mas: (#struct){ 127 one: (#struct){ 128 cfg: (#struct){ 129 b: (int){ 34 } 130 } 131 _link: (#struct){ 132 config: (#struct){ 133 b: (int){ int } 134 } 135 body: (int){ int } 136 mas: (#struct){ 137 two: (#struct){ 138 cfg: (#struct){ 139 c: (int){ int } 140 } 141 _link: (#struct){ 142 config: (#struct){ 143 c: (int){ int } 144 } 145 body: (int){ int } 146 mas: (#struct){ 147 } 148 } 149 link: (#struct){ 150 config: (#struct){ 151 c: (int){ int } 152 } 153 body: (int){ int } 154 mas: (#struct){ 155 } 156 } 157 } 158 } 159 } 160 link: (#struct){ 161 config: (#struct){ 162 b: (int){ 34 } 163 } 164 body: (int){ 34 } 165 mas: (#struct){ 166 two: (#struct){ 167 cfg: (#struct){ 168 c: (int){ 34 } 169 } 170 _link: (#struct){ 171 config: (#struct){ 172 c: (int){ int } 173 } 174 body: (int){ int } 175 mas: (#struct){ 176 } 177 } 178 link: (#struct){ 179 config: (#struct){ 180 c: (int){ 34 } 181 } 182 body: (int){ 34 } 183 mas: (#struct){ 184 } 185 } 186 } 187 } 188 } 189 } 190 } 191 } 192 } 193 -- out/compile -- 194 --- in.cue 195 { 196 #T: { 197 config: _ 198 body: _ 199 mas: { 200 [string]: { 201 cfg: _ 202 _link: 〈3;#T〉 203 link: (〈0;_link〉 & { 204 config: 〈1;cfg〉 205 }) 206 } 207 } 208 } 209 #a: (〈0;#T〉 & { 210 config: { 211 a: int 212 } 213 body: 〈0;config〉.a 214 mas: { 215 one: { 216 cfg: { 217 b: 〈3;config〉.a 218 } 219 _link: { 220 config: { 221 b: int 222 } 223 body: 〈0;config〉.b 224 mas: { 225 two: { 226 cfg: { 227 c: 〈3;config〉.b 228 } 229 _link: { 230 config: { 231 c: int 232 } 233 body: 〈0;config〉.c 234 } 235 } 236 } 237 } 238 } 239 } 240 }) 241 a: (〈0;#a〉 & { 242 config: { 243 a: 34 244 } 245 }) 246 }