pub enum Delimiter {
Parenthesis,
Brace,
Bracket,
None,
}Expand description
Describes how a sequence of token trees is delimited.
Variants§
Parenthesis
( ... )
Brace
{ ... }
Bracket
[ ... ]
None
∅ ... ∅
An invisible delimiter, that may, for example, appear around tokens coming from a
“macro variable” $var. It is important to preserve operator priorities in cases like
$var * 3 where $var is 1 + 2.
Invisible delimiters might not survive roundtrip of a token stream through a string.
Note: rustc currently can ignore the grouping of tokens delimited by None in the output
of a proc_macro. Only None-delimited groups created by a macro_rules macro in the input
of a proc_macro macro are preserved, and only in very specific circumstances.
Any None-delimited groups (re)created by a proc_macro will therefore not preserve
operator priorities as indicated above. The other Delimiter variants should be used
instead in this context. This is a rustc bug. For details, see
rust-lang/rust#67062.
Trait Implementations§
impl Copy for Delimiter
1.29.0 · Source§impl Eq for Delimiter
impl Eq for Delimiter
Source§#[doc(hidden)]fn assert_fields_are_eq(&self)
#[doc(hidden)]fn assert_fields_are_eq(&self)
derive_eq_internals)1.0.0 (const: unstable) · Source§#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
implementation detail of #[derive(Eq)]
Source§impl Mark for Delimiter
impl Mark for Delimiter
impl StructuralPartialEq for Delimiter
impl TrivialClone for Delimiter
Auto Trait Implementations§
impl Freeze for Delimiter
impl RefUnwindSafe for Delimiter
impl Send for Delimiter
impl Sync for Delimiter
impl Unpin for Delimiter
impl UnsafeUnpin for Delimiter
impl UnwindSafe for Delimiter
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Printable for T
Source§impl<T> SizeHint for Twhere
T: ?Sized,
impl<T> SizeHint for Twhere
T: ?Sized,
Source§default fn lower_bound(&self) -> usize
default fn lower_bound(&self) -> usize
core_io_internals)[u8; 12] could return any value between 0 and
12 inclusively as a correct implementation. Read moreSource§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
ptr_alignment_type #102070)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
sized_type_properties)[Self]. Read more