#[repr(C)]pub struct pm_multi_target_node {
pub base: pm_node_t,
pub lefts: pm_node_list,
pub rest: *mut pm_node,
pub rights: pm_node_list,
pub lparen_loc: pm_location_t,
pub rparen_loc: pm_location_t,
}Expand description
MultiTargetNode
Represents a multi-target expression.
a, (b, c) = 1, 2, 3
^^^^^^This can be a part of MultiWriteNode as above, or the target of a for loop
for a, b in [[1, 2], [3, 4]]
^^^^Type: ::PM_MULTI_TARGET_NODE
@extends pm_node_t
Fields§
§base: pm_node_tThe embedded base node.
lefts: pm_node_listMultiTargetNode#lefts
Represents the targets expressions before a splat node.
a, (b, c, *) = 1, 2, 3, 4, 5
^^^^The splat node can be absent, in that case all target expressions are in the left field.
a, (b, c) = 1, 2, 3, 4, 5
^^^^rest: *mut pm_nodeMultiTargetNode#rest
Represents a splat node in the target expression.
a, (b, *c) = 1, 2, 3, 4
^^The variable can be empty, this results in a SplatNode with a nil expression field.
a, (b, *) = 1, 2, 3, 4
^If the * is omitted, this field will contain an ImplicitRestNode
a, (b,) = 1, 2, 3, 4
^rights: pm_node_listMultiTargetNode#rights
Represents the targets expressions after a splat node.
a, (*, b, c) = 1, 2, 3, 4, 5
^^^^lparen_loc: pm_location_tMultiTargetNode#lparen_loc
The location of the opening parenthesis.
a, (b, c) = 1, 2, 3
^rparen_loc: pm_location_tMultiTargetNode#rparen_loc
The location of the closing parenthesis.
a, (b, c) = 1, 2, 3
^Trait Implementations§
Source§impl Clone for pm_multi_target_node
impl Clone for pm_multi_target_node
Source§fn clone(&self) -> pm_multi_target_node
fn clone(&self) -> pm_multi_target_node
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for pm_multi_target_node
impl Debug for pm_multi_target_node
Source§impl Default for pm_multi_target_node
impl Default for pm_multi_target_node
impl Copy for pm_multi_target_node
Auto Trait Implementations§
impl Freeze for pm_multi_target_node
impl RefUnwindSafe for pm_multi_target_node
impl !Send for pm_multi_target_node
impl !Sync for pm_multi_target_node
impl Unpin for pm_multi_target_node
impl UnwindSafe for pm_multi_target_node
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)