enum FlatToken {
Token((Token, Spacing)),
AttrsTarget(AttrsTarget),
Empty,
}Expand description
A helper struct used when building a TokenStream from
a LazyTokenStream. Both delimiter and non-delimited tokens
are stored as FlatToken::Token. A vector of FlatTokens
is then ‘parsed’ to build up a TokenStream with nested
TokenTree::Delimited tokens.
Variants§
Token((Token, Spacing))
A token. Holds both delimiter (e.g. ‘{’ and ‘}’) and non-delimiter tokens.
AttrsTarget(AttrsTarget)
Holds the AttrsTarget for an AST node. The AttrsTarget is expanded directly into the
constructed TokenStream.
Empty
A special ‘empty’ token that is ignored during the conversion to a TokenStream. This is
used to simplify the handling of replace ranges.
Trait Implementations§
Auto Trait Implementations§
impl DynSend for FlatToken
impl DynSync for FlatToken
impl Forget for FlatToken
impl Freeze for FlatToken
impl RefUnwindSafe for FlatToken
impl Send for FlatToken
impl Sync for FlatToken
impl Unpin for FlatToken
impl UnsafeUnpin for FlatToken
impl UnwindSafe for FlatToken
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes
Size for each variant:
Token: 28 bytesAttrsTarget: 20 bytesEmpty: 0 bytes