// Causes a stack overflow on evalv2 and evalv3.
#skip
-- in.cue --
 let X = {}

[Y="foo"]: 3
a:         Y

c: {}
for x in c {a: E}

Z1=[Z2=string]: Z1 + Z2
-- out/compile --
unreferenced alias or let clause X:
    ./in.cue:1:2
a: reference "Y" not found:
    ./in.cue:4:12
for[].a: reference "E" not found:
    ./in.cue:7:16
--- in.cue
{
  let X#1 = {}
  ["foo"]: 3
  a: _|_(reference "Y" not found)
  c: {}
  for _, x in 〈0;c〉 {
    a: _|_(reference "E" not found)
  }
  [string]: (〈0;(〈0;-〉)〉 + 〈0;-〉)
}
