-- in.cue --
b: {for k, v in a {"\(k)": v + 1}}
a: {b: 1, c: 2}

x: {for k, v in y {"\(k)": v}}
y: {} // check that empty struct after reference works.

k: {for v in e {v}}
e: int

comprehensionBinds: {
	a: {for _ in [1] {a: _}}
	b: {for _, _ in [1] {a: _}}
}
-- out/compile --
--- in.cue
{
  b: {
    for k, v in 〈1;a〉 {
      "\(〈1;k〉)": (〈1;v〉 + 1)
    }
  }
  a: {
    b: 1
    c: 2
  }
  x: {
    for k, v in 〈1;y〉 {
      "\(〈1;k〉)": 〈1;v〉
    }
  }
  y: {}
  k: {
    for _, v in 〈1;e〉 {
      〈1;v〉
    }
  }
  e: int
  comprehensionBinds: {
    a: {
      for _, _ in [
        1,
      ] {
        a: _
      }
    }
    b: {
      for _, _ in [
        1,
      ] {
        a: _
      }
    }
  }
}
