pub struct PatternMatrix { /* private fields */ }
Implementations§
Source§impl PatternMatrix
impl PatternMatrix
pub fn new(rows: Vec<PatternRowVec>) -> Self
pub fn from_arms<'db>( scope: &'db BlockScope<'db, 'db>, arms: &[Node<MatchArm>], ty: TypeId, ) -> Self
pub fn rows(&self) -> &[PatternRowVec]
pub fn into_rows(self) -> Vec<PatternRowVec>
pub fn find_non_exhaustiveness( &self, db: &dyn AnalyzerDb, ) -> Option<Vec<SimplifiedPattern>>
pub fn is_row_useful(&self, db: &dyn AnalyzerDb, row: usize) -> bool
pub fn nrows(&self) -> usize
pub fn ncols(&self) -> usize
pub fn swap_col(&mut self, col1: usize, col2: usize)
pub fn sigma_set(&self) -> SigmaSet
pub fn phi_specialize(&self, db: &dyn AnalyzerDb, ctor: ConstructorKind) -> Self
pub fn d_specialize(&self, db: &dyn AnalyzerDb) -> Self
Trait Implementations§
Source§impl Clone for PatternMatrix
impl Clone for PatternMatrix
Source§fn clone(&self) -> PatternMatrix
fn clone(&self) -> PatternMatrix
Returns a copy of the value. Read more
1.0.0 · 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 PatternMatrix
impl Debug for PatternMatrix
Source§impl PartialEq for PatternMatrix
impl PartialEq for PatternMatrix
impl Eq for PatternMatrix
impl StructuralPartialEq for PatternMatrix
Auto Trait Implementations§
impl Freeze for PatternMatrix
impl RefUnwindSafe for PatternMatrix
impl Send for PatternMatrix
impl Sync for PatternMatrix
impl Unpin for PatternMatrix
impl UnwindSafe for PatternMatrix
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.