pub enum RuleMatcher<T: NodeType> {
MatchNode {
typ: T,
children: Vec<Self>,
},
MatchDiscriminant {
typ_discriminant: Discriminant<T>,
children: Vec<Self>,
},
Any,
AnyMany,
}Variants§
MatchNode
Match a node of type typ.
MatchDiscriminant
Match “discriminant” (Only check for variant matches—don’t consider inner data). This may be useful when, for example, one has an enum variant such as ConstantExpr(ConstantType), and one wants to match on all ConstantExpr regardless of the inner ConstantType.
Any
Match any plan node.
AnyMany
Match all plan node.
Auto Trait Implementations§
impl<T> Freeze for RuleMatcher<T>
impl<T> RefUnwindSafe for RuleMatcher<T>
impl<T> Send for RuleMatcher<T>
impl<T> Sync for RuleMatcher<T>
impl<T> Unpin for RuleMatcher<T>where
T: Unpin,
impl<T> UnsafeUnpin for RuleMatcher<T>
impl<T> UnwindSafe for RuleMatcher<T>
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> 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