-- in.cue -- a: { let X = Y let Y = c b: X c: 5 } b: { let X = Y let Y = X b: X c: 5 } fieldOffset: { a: { p1: { let X = {value: Y} let Y = 2 x: X } p2: { x: X let Y = 2 let X = {value: Y} } } b: { p1: { let X = {x: y: Y} let Y = 2 x: X } p2: { x: X let Y = 2 let X = {x: y: Y} } } } issue767: { #Foo: { let _#bar = { value: "" } let _#volmnts = { x: _#baz.value } let _#baz = { _#bar } out: _#volmnts } } -- out/compile -- b.let[]: cyclic references in let clause or alias: ./in.cue:10:10 --- in.cue { a: { let X#1 = 〈0;let Y#2〉 let Y#2 = 〈0;c〉 b: 〈0;let X#1〉 c: 5 } b: { let X#3 = 〈0;let Y#4〉 let Y#4 = 〈0;let X#3〉 b: 〈0;let X#3〉 c: 5 } fieldOffset: { a: { p1: { let X#5 = { value: 〈1;let Y#6〉 } let Y#6 = 2 x: 〈0;let X#5〉 } p2: { x: 〈0;let X#8〉 let Y#7 = 2 let X#8 = { value: 〈1;let Y#7〉 } } } b: { p1: { let X#9 = { x: { y: 〈2;let Y#A〉 } } let Y#A = 2 x: 〈0;let X#9〉 } p2: { x: 〈0;let X#C〉 let Y#B = 2 let X#C = { x: { y: 〈2;let Y#B〉 } } } } } issue767: { #Foo: { let _#bar#D = { value: "" } let _#volmnts#E = { x: 〈1;let _#baz#F〉.value } let _#baz#F = { 〈1;let _#bar#D〉 } out: 〈0;let _#volmnts#E〉 } } } -- out/eval -- b.let[]: cyclic references in let clause or alias: ./in.cue:10:10