# 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:
invalid value string (mismatched types string and int)
value can never become concrete:
    ./in.cue:7:5
invalid operation ++true (+ bool):
    ./in.cue:8:5
invalid operation --false (- bool):
    ./in.cue:9:5

Result:
(_|_){
  // [eval]
  i: (int){ int }
  j: (int){ 3 }
  s: (string){ string }
  t: (string){ "s" }
  e: (_|_){
    // [eval] invalid value string (mismatched types string and int)
  }
  e2: (_|_){
    // [eval] invalid value string (mismatched types string and int)
  }
  b: (_|_){
    // [eval] value can never become concrete:
    //     ./in.cue:7:5
  }
  p: (_|_){
    // [eval] invalid operation ++true (+ bool):
    //     ./in.cue:8:5
  }
  m: (_|_){
    // [eval] invalid operation --false (- bool):
    //     ./in.cue:9:5
  }
}
