pub struct AnalyzerTablesOwned {
pub ufcs: UfcsLookup,
pub coalesce: CoalesceLookup,
}Expand description
Owned form of brink_ir::lir::AnalyzerTables (issue #1527) — every
analyzer side-table LIR lowering reads, held by value instead of by the
borrowed references AnalyzerTables itself carries. A caller builds one
of these (via assemble_analyzer_tables) and then borrows its fields
into an AnalyzerTables at the lowering call site, exactly as
brink-db’s two salsa queries already borrow their own owned
UfcsLookup/CoalesceLookup locals.
Fields§
§ufcs: UfcsLookupB3a UFCS (issue #1506) — see brink_ir::lir::UfcsLookup’s own doc.
coalesce: CoalesceLookupB1 or-coalescing (issue #1492) — see brink_ir::lir::CoalesceLookup’s own doc.
Implementations§
Source§impl AnalyzerTablesOwned
impl AnalyzerTablesOwned
Sourcepub fn as_tables(&self) -> AnalyzerTables<'_>
pub fn as_tables(&self) -> AnalyzerTables<'_>
Borrow this owned bundle into the brink_ir::lir::AnalyzerTables
lowering actually takes — the one place that borrow is assembled
(issue #1528’s review finding). Field-by-field construction at each
call site meant a third AnalyzerTables field would compile-error at
the call site instead of here, and the cheapest silencer there is a
throwaway default value rather than actually wiring the new table —
exactly the silent-empty-table failure this whole function exists to
prevent. Keeping the borrow here means a new field’s compile error
lands next to this assembly instead.
Trait Implementations§
Source§impl Clone for AnalyzerTablesOwned
impl Clone for AnalyzerTablesOwned
Source§fn clone(&self) -> AnalyzerTablesOwned
fn clone(&self) -> AnalyzerTablesOwned
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more