# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: errors
#evalPartial
-- in.cue --
a: _|_ & _|_
b: null & _|_
c: b.a == _|_
d: _|_ != b.a
e: _|_ == _|_
f: ({} & false) == _|_
g: _|_ != ({} & false)
-- out/def --
a: _|_ // explicit error (_|_ literal) in source
b: _|_ // explicit error (_|_ literal) in source
c: true
d: false
e: true
-- out/legacy-debug --
<0>{a: _|_(explicit error (_|_ literal) in source), b: _|_(explicit error (_|_ literal) in source), c: true, d: false, e: true}
-- out/compile --
--- in.cue
{
  a: (_|_(explicit error (_|_ literal) in source) & _|_(explicit error (_|_ literal) in source))
  b: (null & _|_(explicit error (_|_ literal) in source))
  c: (〈0;b〉.a == _|_(explicit error (_|_ literal) in source))
  d: (_|_(explicit error (_|_ literal) in source) != 〈0;b〉.a)
  e: (_|_(explicit error (_|_ literal) in source) == _|_(explicit error (_|_ literal) in source))
  f: (({} & false) == _|_(explicit error (_|_ literal) in source))
  g: (_|_(explicit error (_|_ literal) in source) != ({} & false))
}
-- out/eval --
Errors:
explicit error (_|_ literal) in source:
    ./in.cue:1:4
explicit error (_|_ literal) in source:
    ./in.cue:2:11

Result:
(_|_){
  // [user]
  a: (_|_){
    // [user] explicit error (_|_ literal) in source:
    //     ./in.cue:1:4
  }
  b: (_|_){
    // [user] explicit error (_|_ literal) in source:
    //     ./in.cue:2:11
  }
  c: (bool){ true }
  d: (bool){ false }
  e: (bool){ true }
  f: (bool){ true }
  g: (bool){ false }
}
