# DO NOT EDIT; generated by go run testdata/gen.go
#
#evalFull
-- in.cue --
t: {
	#ok: *true | bool
	if #ok {
		x: int
	}
}
s: t & {
	#ok: false
}
-- out/def --
t: {
	x:   int
	#ok: *true | bool
}
s: t & {
	#ok: false
}
-- out/legacy-debug --
<0>{t: <1>{x: int, #ok: true}, s: <2>{#ok: false}}
-- out/compile --
--- in.cue
{
  t: {
    #ok: (*true|bool)
    if 〈0;#ok〉 {
      x: int
    }
  }
  s: (〈0;t〉 & {
    #ok: false
  })
}
-- out/eval --
(struct){
  t: (struct){
    #ok: (bool){ |(*(bool){ true }, (bool){ bool }) }
    x: (int){ int }
  }
  s: (struct){
    #ok: (bool){ false }
  }
}
