pub type DeclaredSymbols = SmallVec<[TaggedSymbolRef; 2]>;Expand description
Storage for the symbols a statement declares.
The overwhelming majority of statements declare zero, one, or two top-level symbols, so the
elements are kept inline (no heap allocation) for up to two and only spill to the heap beyond
that. With TaggedSymbolRef packed to 8 bytes this matches the 24-byte footprint of a Vec
on 64-bit targets, so StmtInfo doesn’t grow there. On 32-bit targets (e.g. wasm32) the inline
buffer makes it 8 bytes larger than a Vec, which we accept in exchange for eliding the
per-statement heap allocation.
Aliased Type§
pub struct DeclaredSymbols { /* private fields */ }