Struct valkyrie_ast::TuplePatternNode
source · pub struct TuplePatternNode {
pub bind: Option<IdentifierNode>,
pub name: Option<NamePathNode>,
pub terms: Vec<PatternNode>,
pub span: Range<u32>,
}
Expand description
bind := module∷Named(ref a, mut b, ..c)
match term {
case bind: module::Name(ref a, mut b, c) if a > 0:
body
}
let bind = term;
# Option<(?, ?, ?)>
let unapply = module::Name::extract(bind);
if unapply.is_none() {
break;
}
# (?, ?, ?)
let bind = unapply!;
let a = unapply!.0;
let b = unapply!.1;
let c = unapply!.2;
Fields§
§bind: Option<IdentifierNode>
bind := ...
name: Option<NamePathNode>
namespace::Name(...)
terms: Vec<PatternNode>
(ref a, mut b, ..c)
span: Range<u32>
The range of the node
Trait Implementations§
source§impl Clone for TuplePatternNode
impl Clone for TuplePatternNode
source§fn clone(&self) -> TuplePatternNode
fn clone(&self) -> TuplePatternNode
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 TuplePatternNode
impl Debug for TuplePatternNode
source§impl From<TuplePatternNode> for PatternNode
impl From<TuplePatternNode> for PatternNode
source§fn from(o: TuplePatternNode) -> Self
fn from(o: TuplePatternNode) -> Self
Converts to this type from the input type.
source§impl Hash for TuplePatternNode
impl Hash for TuplePatternNode
source§impl PartialEq for TuplePatternNode
impl PartialEq for TuplePatternNode
source§fn eq(&self, other: &TuplePatternNode) -> bool
fn eq(&self, other: &TuplePatternNode) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for TuplePatternNode
impl StructuralPartialEq for TuplePatternNode
Auto Trait Implementations§
impl RefUnwindSafe for TuplePatternNode
impl Send for TuplePatternNode
impl Sync for TuplePatternNode
impl Unpin for TuplePatternNode
impl UnwindSafe for TuplePatternNode
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