# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: null
#evalPartial
-- in.cue --
eql: null == null
neq: null != null
unf: null & null

// errors
eq1:  null == 1
eq2:  1 == null
ne1:  "s" != null
call: null()
-- out/def --
eql: true
neq: false
unf: null

// errors
eq1:  false
eq2:  false
ne1:  true
call: _|_ // cannot call non-function null (type null)
-- out/legacy-debug --
<0>{eql: true, neq: false, unf: null, eq1: false, eq2: false, ne1: true, call: _|_(null:cannot call non-function null (type null))}
-- out/compile --
--- in.cue
{
  eql: (null == null)
  neq: (null != null)
  unf: (null & null)
  eq1: (null == 1)
  eq2: (1 == null)
  ne1: ("s" != null)
  call: null()
}
-- out/eval --
Errors:
cannot call non-function *adt.Null (type null):
    ./in.cue:9:7

Result:
(_|_){
  // [eval]
  eql: (bool){ true }
  neq: (bool){ false }
  unf: (null){ null }
  eq1: (bool){ false }
  eq2: (bool){ false }
  ne1: (bool){ true }
  call: (_|_){
    // [eval] cannot call non-function *adt.Null (type null):
    //     ./in.cue:9:7
  }
}
