# 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)
e2: conflicting values 1 and string (mismatched types int and string)
b: value can never become concrete:
    ./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)
  }
  e2: (_|_){
    // [eval] e2: conflicting values 1 and string (mismatched types int and string)
  }
  b: (_|_){
    // [eval] b: value can never become concrete:
    //     ./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
  }
}
