pub struct LirProduct {
pub program: Option<Arc<Program>>,
pub errors: Vec<Diagnostic>,
pub warnings: Vec<Diagnostic>,
}Expand description
Outcome of the pipeline through LIR lowering, mirroring
brink-compiler’s compile_lir stage sequence exactly.
program is None when errors (or a missing entry point) prevented
lowering; errors/warnings are the suppression-filtered, partitioned
diagnostics (plus LIR lowering warnings on success).
Fields§
§program: Option<Arc<Program>>The lowered LIR program, if diagnostics allowed lowering to run.
errors: Vec<Diagnostic>Error-severity diagnostics (compilation failed if non-empty).
warnings: Vec<Diagnostic>Warning-severity diagnostics (including LIR warnings on success).
Trait Implementations§
Source§impl Clone for LirProduct
impl Clone for LirProduct
Source§fn clone(&self) -> LirProduct
fn clone(&self) -> LirProduct
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for LirProduct
impl Default for LirProduct
Source§fn default() -> LirProduct
fn default() -> LirProduct
Source§impl PartialEq for LirProduct
lir::Program has no PartialEq, so program identity (Arc::ptr_eq) is
the only cheap proxy. This impl exists solely to satisfy salsa’s update
fallback — backdating is disabled via no_eq on [lir_query], so it is
never used to claim two independently-computed programs equal.
impl PartialEq for LirProduct
lir::Program has no PartialEq, so program identity (Arc::ptr_eq) is
the only cheap proxy. This impl exists solely to satisfy salsa’s update
fallback — backdating is disabled via no_eq on [lir_query], so it is
never used to claim two independently-computed programs equal.