Types and are Values
Specifying duplicate fields with conflicting values results in an error or bottom. Bottom is a special value in CUE, denoted _|_
, that indicates an error such as incompatible values. Any error in CUE results in _|_
. Logically all errors are equal, although errors may be associated with metadata such as an error message.
Note that an error is different from null
: null
is a valid value, whereas _|_
is not.
bottom.cue:
a: 4 a: 5 l: [ 1, 2 ] l: [ 1, 3 ] list: [0, 1, 2] val: list[3]
$ cue eval -i bottom.cue
a: _|_ /* conflicting values: 4 != 5 */ l: [1, _|_ /* conflicting values: 2 != 3 */] list: [0, 1, 2] val: _|_ /* index 3 out of bounds */