# 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: bool
    b: (bool){ bool }
  }
  x: (#struct){
    b: (bool){ true }
    c: (int){ 4 }
  }
  y: (#struct){
    b: (bool){ true }
    c: (int){ 4 }
  }
}
