The prelude's own (vec-new Form) was refused with "nothing here says what (vec-new) is a Vec of" -- a message about a missing annotation, to a program that had written one. The build went red the moment the Form declaration was checked against anything, which is why the front half landed unmeasured. The test a leading bare symbol has to pass was spelled out twice, once in vec_new_elem and once in map_new_types, and both lists were written before unions existed: primitives, structs, enums, aliases. resolve_name has known about unions since they landed, so the two halves disagreed about what a type name is. Now there is one list, read by both, so the next kind of type cannot be added to one of them. The case is in unions.flan rather than in a file of its own, because what it asserts is that a union is an element type like any other -- (vec-new Shape), (map-new string Shape) -- and that is a sentence about unions. Also drops forms.so, a build artefact the last lane committed.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%