pub struct IntervalAnalysisResult {
pub types: HashMap<TypeId, RefinedTypeInterval>,
}Expand description
Whole-analysis result, keyed for cheap programmatic lookup.
Fields§
§types: HashMap<TypeId, RefinedTypeInterval>One entry per refined type the analysis saw, keyed by opaque
TypeId.
Implementations§
Source§impl IntervalAnalysisResult
impl IntervalAnalysisResult
Sourcepub fn types_analyzed(&self) -> usize
pub fn types_analyzed(&self) -> usize
Number of types analyzed.
Sourcepub fn two_sided_bounded(&self) -> usize
pub fn two_sided_bounded(&self) -> usize
Types whose invariant yielded a two-sided constant interval (both bounds finite) — the carrier-lowering candidates.
Sourcepub fn ops_overflow_free(&self) -> usize
pub fn ops_overflow_free(&self) -> usize
Total ops across all types classified OverflowFree.
Sourcepub fn ops_needs_wider(&self) -> usize
pub fn ops_needs_wider(&self) -> usize
Total ops across all types classified NeedsWiderScratch.
Sourcepub fn ops_unbounded(&self) -> usize
pub fn ops_unbounded(&self) -> usize
Total ops across all types classified Unbounded.
Sourcepub fn raw_i64_eligible(&self) -> usize
pub fn raw_i64_eligible(&self) -> usize
Refined types whose carrier may lower to a raw i64
(RefinedTypeInterval::raw_i64_eligible) — the
recognizer’s headline count, surfaced by --explain-passes. This
is the “proof the recognizer fires on the right types” metric;
nothing in codegen / runtime / proof consumes it.
Trait Implementations§
Source§impl Clone for IntervalAnalysisResult
impl Clone for IntervalAnalysisResult
Source§fn clone(&self) -> IntervalAnalysisResult
fn clone(&self) -> IntervalAnalysisResult
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IntervalAnalysisResult
impl Debug for IntervalAnalysisResult
Source§impl Default for IntervalAnalysisResult
impl Default for IntervalAnalysisResult
Source§fn default() -> IntervalAnalysisResult
fn default() -> IntervalAnalysisResult
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for IntervalAnalysisResult
impl RefUnwindSafe for IntervalAnalysisResult
impl Send for IntervalAnalysisResult
impl Sync for IntervalAnalysisResult
impl Unpin for IntervalAnalysisResult
impl UnsafeUnpin for IntervalAnalysisResult
impl UnwindSafe for IntervalAnalysisResult
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more