#name: basic type
#evalPartial
-- in.cue --
a: 1 & int
b: number & 1
c: 1.0
c: float
d: int & float // _|_
e: "4" & string
f: true
f: bool
-- out/def --
a: 1
b: 1
c: 1.0
d: _|_ // conflicting values int and float (mismatched types int and float)
e: "4"
f: true
-- out/legacy-debug --
<0>{a: 1, b: 1, c: 1.0, d: _|_((int & float):conflicting values int and float (mismatched types int and float)), e: "4", f: true}
-- out/compile --
--- in.cue
{
  a: (1 & int)
  b: (number & 1)
  c: 1.0
  c: float
  d: (int & float)
  e: ("4" & string)
  f: true
  f: bool
}
-- out/eval/stats --
Leaks:  0
Freed:  7
Reused: 5
Allocs: 2
Retain: 0

Unifications: 7
Conjuncts:    13
Disjuncts:    7
-- out/eval --
Errors:
d: conflicting values int and float (mismatched types int and float):
    ./in.cue:5:4
    ./in.cue:5:10

Result:
(_|_){
  // [eval]
  a: (int){ 1 }
  b: (int){ 1 }
  c: (float){ 1.0 }
  d: (_|_){
    // [eval] d: conflicting values int and float (mismatched types int and float):
    //     ./in.cue:5:4
    //     ./in.cue:5:10
  }
  e: (string){ "4" }
  f: (bool){ true }
}
