blob: 3c5e11e2e1ebda063367a6579e6533ea6bba426b [file] [log] [blame]
cue eval -c structs.cue
cmp stdout expect-stdout-cue
-- frontmatter.toml --
title = "Structs"
description = ""
-- text.md --
Struct is the most important composite type in CUE.
Its members are called fields.
A struct field may be optional.
One can use an optional field to indicate what the type should be if it were
specified.
A regular (or required) field, on the other hand, must be made concrete
for a configuration to be converted to, say, JSON.
It is okay for an optional field to be bottom (`_|_`).
This just means that field may not be specified.
-- structs.cue --
#a: {
foo?: int
bar?: string
baz?: string
}
b: #a & {
foo: 3
baz?: 2 // baz?: _|_
}
-- expect-stdout-cue --
b: {
foo: 3
}