cue: change emit value semantics
- top-level emit structs are now embedded
as with other structs
- for non-structs, regular and optional
top-level fields are disallowed.
Change-Id: Id7d62b956209b6657833920d24e6f3c7b127cb39
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/3682
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/doc/ref/spec.md b/doc/ref/spec.md
index 4efc3a7..4e58c18 100644
--- a/doc/ref/spec.md
+++ b/doc/ref/spec.md
@@ -1289,6 +1289,11 @@
A struct resulting from such a unification is closed if either of the involved
structs were closed.
+At the top level, an embedded value may be any type.
+In this case, a CUE program will evaluate to the embedded value
+and the CUE program may not have top-level regular or optional
+fields (definitions and aliases are allowed).
+
Syntactically, embeddings may be any expression, except that `<`
is eagerly interpreted as a bind label.