# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: cross-dependent comprehension
#evalFull
-- in.cue --
#a: {
	if b {
		c: 4
	}
	b: bool
}
x: (#a & {b: true}) & {c: 4}
y: x
-- out/def --
x: _|_ // field "c" not allowed in closed struct
y: _|_ // field "c" not allowed in closed struct
#a: {
	b: bool
	if b {
		c: 4
	}
}
-- out/legacy-debug --
<0>{x: _|_(4:field "c" not allowed in closed struct), y: _|_(4:field "c" not allowed in closed struct), #a: <1>C{b: bool if <2>.b yield <3>C{c: 4}}}
-- out/compile --
--- in.cue
{
  #a: {
    if 〈0;b〉 {
      c: 4
    }
    b: bool
  }
  x: ((〈0;#a〉 & {
    b: true
  }) & {
    c: 4
  })
  y: 〈0;x〉
}
-- out/eval --
(struct){
  #a: (_|_){
    // [incomplete] #a: incomplete bool value 'bool'
    b: (bool){ bool }
  }
  x: (#struct){
    b: (bool){ true }
    c: (int){ 4 }
  }
  y: (#struct){
    b: (bool){ true }
    c: (int){ 4 }
  }
}
