pub struct PatternSet {
pub patterns: Vec<Pattern>,
pub matches: Vec<PatternMatch>,
pub covered_shapes: FxHashSet<TermShape>,
}Expand description
A set of patterns that must be matched together
Fields§
§patterns: Vec<Pattern>§matches: Vec<PatternMatch>§covered_shapes: FxHashSet<TermShape>Implementations§
Source§impl PatternSet
impl PatternSet
Sourcepub fn from_patterns(patterns: Vec<Pattern>, manager: &TermManager) -> Self
pub fn from_patterns(patterns: Vec<Pattern>, manager: &TermManager) -> Self
Build a pattern set and precompute the term shapes it can match.
Trait Implementations§
Source§impl Clone for PatternSet
impl Clone for PatternSet
Source§fn clone(&self) -> PatternSet
fn clone(&self) -> PatternSet
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 moreAuto Trait Implementations§
impl Freeze for PatternSet
impl RefUnwindSafe for PatternSet
impl Send for PatternSet
impl Sync for PatternSet
impl Unpin for PatternSet
impl UnsafeUnpin for PatternSet
impl UnwindSafe for PatternSet
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more