#name: struct comprehensions
#evalPartial
-- in.cue --
obj: foo: a: "bar"
obj: [Name=string]: {
	a: *"dummy" | string
	if true {
		sub: as: a
	}
}

for k, v in {#def: 1, opt?: 2, _hid: 3, reg: 4} {
	"\(k)": v
}
-- out/compile --
--- in.cue
{
  obj: {
    foo: {
      a: "bar"
    }
  }
  obj: {
    [string]: {
      a: (*"dummy"|string)
      if true {
        sub: {
          as: 〈2;a〉
        }
      }
    }
  }
  for k, v in {
    #def: 1
    opt?: 2
    _hid: 3
    reg: 4
  } {
    "\(〈1;k〉)": 〈1;v〉
  }
}
