pub struct PatternMatrix {
pub rows: Vec<PatternRow>,
}Expand description
The pattern matrix used in match compilation
Fields§
§rows: Vec<PatternRow>Implementations§
Source§impl PatternMatrix
impl PatternMatrix
Sourcepub fn all_wildcards(&self) -> bool
pub fn all_wildcards(&self) -> bool
Check if all patterns in the first column are wildcards
Sourcepub fn remove_column(&self, col: usize) -> PatternMatrix
pub fn remove_column(&self, col: usize) -> PatternMatrix
Remove a column from the matrix
Sourcepub fn specialize(&self, col: usize, ctor: &CtorKind) -> PatternMatrix
pub fn specialize(&self, col: usize, ctor: &CtorKind) -> PatternMatrix
Specialize the matrix for a constructor
Sourcepub fn specialize_literal(&self, col: usize, lit: &LitPat) -> PatternMatrix
pub fn specialize_literal(&self, col: usize, lit: &LitPat) -> PatternMatrix
Specialize the matrix for a literal
Sourcepub fn default(&self, col: usize) -> PatternMatrix
pub fn default(&self, col: usize) -> PatternMatrix
Get rows that don’t match any specific constructor (default matrix)
Trait Implementations§
Source§impl Clone for PatternMatrix
impl Clone for PatternMatrix
Source§fn clone(&self) -> PatternMatrix
fn clone(&self) -> PatternMatrix
Returns a duplicate 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 moreAuto 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