#expandLetExpr: true
#inlinetest:exclude skip: compile errors.
-- 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
	}
}
-- alignstack.cue --
issue4051: full: {
	#app: name: "foo"

	let N = #app.name

	out: (N): [{f1: f2: N}]
}
issue4051: reduced: {
	(N): [{ f1: f2: N }]
	let N = x
	x: "s"
}
-- out/evalalpha --
b.let[]: cyclic references in let clause or alias:
    ./in.cue:10:10
