blob: ae38c67bc23b4c6984821aa67a041e7e5347ac0f [file] [log] [blame]
TODO: the new evaluator currently does not normalize disjuncts.
It needs to be determined under which circumstances is desirable.
The redundancy that remains from not normalizing can be useful.
#name: normalization
#evalFull
-- in.cue --
a: string | string
b: *1 | *int
c: *1.0 | *float
-- out/def --
a: string
b: int
c: float
-- out/legacy-debug --
<0>{a: string, b: int, c: float}
-- out/compile --
--- in.cue
{
a: (string|string)
b: (*1|*int)
c: (*1.0|*float)
}
-- out/eval --
(struct){
a: (string){ string }
b: (int){ |(*(int){ 1 }, *(int){ int }) }
c: (float){ |(*(float){ 1.0 }, *(float){ float }) }
}