# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: field comprehension
#evalFull
-- in.cue --
a: {
	for k, v in b
	if k < "d"
	if v > b.a {
		"\(k)": v
	}
}
b: {
	a: 1
	b: 2
	c: 3
	d: 4
}
c: {
	for k, v in b
	if k < "d"
	if v > b.a {
		"\(k)": v
	}
}
-- out/def --
a: {
	b: 2
	c: 3
}
b: {
	a: 1
	b: 2
	c: 3
	d: 4
}
c: {
	b: 2
	c: 3
}
-- out/export --
a: {
	b: 2
	c: 3
}
b: {
	a: 1
	b: 2
	c: 3
	d: 4
}
c: {
	b: 2
	c: 3
}
-- out/yaml --
a:
  b: 2
  c: 3
b:
  a: 1
  b: 2
  c: 3
  d: 4
c:
  b: 2
  c: 3
-- out/json --
{"a":{"b":2,"c":3},"b":{"a":1,"b":2,"c":3,"d":4},"c":{"b":2,"c":3}}
-- out/legacy-debug --
<0>{a: <1>{b: 2, c: 3}, b: <2>{a: 1, b: 2, c: 3, d: 4}, c: <3>{b: 2, c: 3}}
-- out/compile --
--- in.cue
{
  a: {
    for k, v in 〈1;b〉 if (〈0;k〉 < "d") if (〈0;v〉 > 〈2;b〉.a) {
      "\(〈1;k〉)": 〈1;v〉
    }
  }
  b: {
    a: 1
    b: 2
    c: 3
    d: 4
  }
  c: {
    for k, v in 〈1;b〉 if (〈0;k〉 < "d") if (〈0;v〉 > 〈2;b〉.a) {
      "\(〈1;k〉)": 〈1;v〉
    }
  }
}
-- out/eval --
(struct){
  a: (struct){
    b: (int){ 2 }
    c: (int){ 3 }
  }
  b: (struct){
    a: (int){ 1 }
    b: (int){ 2 }
    c: (int){ 3 }
    d: (int){ 4 }
  }
  c: (struct){
    b: (int){ 2 }
    c: (int){ 3 }
  }
}
