# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: types
#evalPartial
-- in.cue --
i:  int
j:  int & 3
s:  string
t:  "s" & string
e:  int & string
e2: 1 & string
b:  !int
p:  +true
m:  -false
-- out/def --
i:  int
j:  3
s:  string
t:  "s"
e:  _|_ // conflicting values int and string (mismatched types int and string)
e2: _|_ // conflicting values 1 and string (mismatched types int and string)
b:  _|_ // invalid operation !int (! int)
p:  _|_ // invalid operation +true (+ bool)
m:  _|_ // invalid operation -false (- bool)
-- out/legacy-debug --
<0>{i: int, j: 3, s: string, t: "s", e: _|_((int & string):conflicting values int and string (mismatched types int and string)), e2: _|_((1 & string):conflicting values 1 and string (mismatched types int and string)), b: _|_(!int:invalid operation !int (! int)), p: _|_(+true:invalid operation +true (+ bool)), m: _|_(-false:invalid operation -false (- bool))}
-- out/compile --
--- in.cue
{
  i: int
  j: (int & 3)
  s: string
  t: ("s" & string)
  e: (int & string)
  e2: (1 & string)
  b: !int
  p: +true
  m: -false
}
-- out/eval --
Errors:
e: conflicting values int and string (mismatched types int and string):
    ./in.cue:5:5
    ./in.cue:5:11
e2: conflicting values 1 and string (mismatched types int and string):
    ./in.cue:6:5
    ./in.cue:6:9
b: invalid operand int ('!' requires concrete value):
    ./in.cue:7:5
p: invalid operation +true (+ bool):
    ./in.cue:8:5
m: invalid operation -false (- bool):
    ./in.cue:9:5

Result:
(_|_){
  // [eval]
  i: (int){ int }
  j: (int){ 3 }
  s: (string){ string }
  t: (string){ "s" }
  e: (_|_){
    // [eval] e: conflicting values int and string (mismatched types int and string):
    //     ./in.cue:5:5
    //     ./in.cue:5:11
  }
  e2: (_|_){
    // [eval] e2: conflicting values 1 and string (mismatched types int and string):
    //     ./in.cue:6:5
    //     ./in.cue:6:9
  }
  b: (_|_){
    // [eval] b: invalid operand int ('!' requires concrete value):
    //     ./in.cue:7:5
  }
  p: (_|_){
    // [eval] p: invalid operation +true (+ bool):
    //     ./in.cue:8:5
  }
  m: (_|_){
    // [eval] m: invalid operation -false (- bool):
    //     ./in.cue:9:5
  }
}
