#[repr(C)]pub struct pm_hash_pattern_node {
pub base: pm_node_t,
pub constant: *mut pm_node,
pub elements: pm_node_list,
pub rest: *mut pm_node,
pub opening_loc: pm_location_t,
pub closing_loc: pm_location_t,
}Expand description
HashPatternNode
Represents a hash pattern in pattern matching.
foo => { a: 1, b: 2 }
^^^^^^^^^^^^^^ foo => { a: 1, b: 2, **c }
^^^^^^^^^^^^^^^^^^^ foo => Bar[a: 1, b: 2]
^^^^^^^^^^^^^^^ foo in { a: 1, b: 2 }
^^^^^^^^^^^^^^Type: ::PM_HASH_PATTERN_NODE
@extends pm_node_t
Fields§
§base: pm_node_tThe embedded base node.
constant: *mut pm_nodeHashPatternNode#constant
Represents the optional constant preceding the Hash.
foo => Bar[a: 1, b: 2]
^^^ foo => Bar::Baz[a: 1, b: 2]
^^^^^^^^elements: pm_node_listHashPatternNode#elements
Represents the explicit named hash keys and values.
foo => { a: 1, b:, ** }
^^^^^^^^rest: *mut pm_nodeHashPatternNode#rest
Represents the rest of the Hash keys and values. This can be named, unnamed, or explicitly forbidden via **nil, this last one results in a NoKeywordsParameterNode.
foo => { a: 1, b:, **c }
^^^ foo => { a: 1, b:, ** }
^^ foo => { a: 1, b:, **nil }
^^^^^opening_loc: pm_location_tHashPatternNode#opening_loc
The location of the opening brace.
foo => { a: 1 }
^ foo => Bar[a: 1]
^closing_loc: pm_location_tHashPatternNode#closing_loc
The location of the closing brace.
foo => { a: 1 }
^ foo => Bar[a: 1]
^Trait Implementations§
Source§impl Clone for pm_hash_pattern_node
impl Clone for pm_hash_pattern_node
Source§fn clone(&self) -> pm_hash_pattern_node
fn clone(&self) -> pm_hash_pattern_node
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 moreSource§impl Debug for pm_hash_pattern_node
impl Debug for pm_hash_pattern_node
Source§impl Default for pm_hash_pattern_node
impl Default for pm_hash_pattern_node
impl Copy for pm_hash_pattern_node
Auto Trait Implementations§
impl Freeze for pm_hash_pattern_node
impl RefUnwindSafe for pm_hash_pattern_node
impl !Send for pm_hash_pattern_node
impl !Sync for pm_hash_pattern_node
impl Unpin for pm_hash_pattern_node
impl UnwindSafe for pm_hash_pattern_node
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