Skip to main content

DeclaredSymbols

Type Alias DeclaredSymbols 

Source
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 */ }