pub struct Pattern {
pub kind: Ranged<PatternKind>,
pub guard: Option<Ranged<Expression>>,
}Expand description
The syntax components of a pattern
Fields§
§kind: Ranged<PatternKind>The pattern match.
guard: Option<Ranged<Expression>>An optional guard to check after the pattern is matched.
Trait Implementations§
source§impl From<Ranged<PatternKind>> for Pattern
impl From<Ranged<PatternKind>> for Pattern
source§fn from(kind: Ranged<PatternKind>) -> Self
fn from(kind: Ranged<PatternKind>) -> Self
Converts to this type from the input type.
source§impl TokenizeInto for Pattern
impl TokenizeInto for Pattern
impl StructuralPartialEq for Pattern
Auto Trait Implementations§
impl Freeze for Pattern
impl RefUnwindSafe for Pattern
impl Send for Pattern
impl Sync for Pattern
impl Unpin for Pattern
impl UnwindSafe for Pattern
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
§impl<A> Cast for A
impl<A> Cast for A
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> TokenizeRanged for Twhere
T: TokenizeInto,
impl<T> TokenizeRanged for Twhere
T: TokenizeInto,
source§fn tokenize_ranged(
&self,
_range: SourceRange,
tokens: &mut VecDeque<Ranged<Token>>,
)
fn tokenize_ranged( &self, _range: SourceRange, tokens: &mut VecDeque<Ranged<Token>>, )
Tokenize
self into tokens within the enclosing range.