# DO NOT EDIT; generated by go run testdata/gen.go
#
raw: true
eval: true
-- in.cue --
{
	b: [{
		{[X=_]: int}
		if a > 4 {
			f: 4
		}
	}][a]
	a: int
	c: *1 | 2
}
-- out/def --
b: [{
	if a > 4 {
		f: 4
	}
	{[X=string]: int}
}][a]
a: int
c: *1 | 2
-- out/compile --
--- in.cue
{
  {
    b: [
      {
        {
          [_]: int
        }
        if (〈1;a〉 > 4) {
          f: 4
        }
      },
    ][〈0;a〉]
    a: int
    c: (*1|2)
  }
}
-- out/eval --
(struct){
  b: (_|_){
    // [incomplete] b: invalid non-ground value int (must be concrete int)
  }
  a: (int){ int }
  c: (int){ |(*(int){ 1 }, (int){ 2 }) }
}
