Structures that can be passed into Weld.
This currently defines the type layout specified for the single threaded backend. In general, type layouts vary from backend to backend especially for builders.
Primitives in Weld match their Rust counterparts, except for booleans. Booleans in Weld are
guaranteed to be one byte in size, but are defined as
stdbool.h in Rust when
defined in a struct with
Vectors will always have the same layout: a pointer followed by a 64-bit length.
Builders are backend-specific and have layouts that may change at any time. Therefore, the builder definitions here should be used as opaque sized types rather than as structs whose fields can be accessed.
The dictionary type.
A dynamically sized constant vector.
A boolean in Weld.