pub struct MultiDecl<P: Phase = Raw> {
pub slots: Vec<MultiDeclSlot<P>>,
pub shared_axes: MultiDeclSharedAxes,
pub slot_axes: Vec<MultiSlotAxis>,
pub slices: Vec<MultiDeclSlice<P>>,
pub span: Span,
pub table_expr_span: Span,
}Expand description
The surface form of a multi-decl: parallel declaration slots sharing a
single table[…] {…} initializer.
Fields§
§slots: Vec<MultiDeclSlot<P>>Slot headers in declaration order. Length = number of declarations this multi-decl expanded into.
Shared axes from the bracket prefix table[A, B, …, (…)].
slot_axes: Vec<MultiSlotAxis>Per-slot extra-axis annotation from the slot tuple. Same length
as slots.
slices: Vec<MultiDeclSlice<P>>Body slices. Exactly one slice for single-shared-axis multi-decls; multiple slices for N-D shared-axis prefixes (v3).
span: SpanFull surface span: from the first slot’s kind keyword through the
closing ;.
table_expr_span: SpanSpan of the table[…] {…} sub-expression.
Trait Implementations§
Source§impl FormatEquivalent for MultiDecl
impl FormatEquivalent for MultiDecl
Source§fn format_equivalent(&self, other: &Self) -> bool
fn format_equivalent(&self, other: &Self) -> bool
Returns
true if self and other are equivalent up to formatting.Auto Trait Implementations§
impl<P> Freeze for MultiDecl<P>
impl<P> RefUnwindSafe for MultiDecl<P>
impl<P> Send for MultiDecl<P>
impl<P> Sync for MultiDecl<P>
impl<P> Unpin for MultiDecl<P>
impl<P> UnsafeUnpin for MultiDecl<P>
impl<P> UnwindSafe for MultiDecl<P>
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