Enum proclet::LiteralValue
source · pub enum LiteralValue<S: Span> {
Show 21 variants
String(StringLiteral<S>),
ByteString(ByteStringLiteral<S>),
CString(CStringLiteral<S>),
Character(CharacterLiteral<S>),
ByteCharacter(ByteCharacterLiteral<S>),
Int(IntLiteral<S>),
Float(FloatLiteral<S>),
I8(I8Literal<S>),
I16(I16Literal<S>),
I32(I32Literal<S>),
I64(I64Literal<S>),
I128(I128Literal<S>),
Isize(IsizeLiteral<S>),
U8(U8Literal<S>),
U16(U16Literal<S>),
U32(U32Literal<S>),
U64(U64Literal<S>),
U128(U128Literal<S>),
Usize(UsizeLiteral<S>),
F32(F32Literal<S>),
F64(F64Literal<S>),
}
literal-value
only.Expand description
A literal token. This is like Literal
from proc-macro*
, except that the value has
already been parsed and is available at no cost. You can convert it to and from Literal
with into
.
Variants§
String(StringLiteral<S>)
String literal.
ByteString(ByteStringLiteral<S>)
Byte string literal.
CString(CStringLiteral<S>)
C string literal.
Character(CharacterLiteral<S>)
Character literal.
ByteCharacter(ByteCharacterLiteral<S>)
Byte character literal.
Int(IntLiteral<S>)
Unsuffixed integer literal.
Float(FloatLiteral<S>)
Unsuffixed floating point literal.
I8(I8Literal<S>)
i8
suffixed integer literal.
I16(I16Literal<S>)
i16
suffixed integer literal.
I32(I32Literal<S>)
i32
suffixed integer literal.
I64(I64Literal<S>)
i64
suffixed integer literal.
I128(I128Literal<S>)
i128
suffixed integer literal.
Isize(IsizeLiteral<S>)
isize
suffixed integer literal.
U8(U8Literal<S>)
u8
suffixed integer literal.
U16(U16Literal<S>)
u16
suffixed integer literal.
U32(U32Literal<S>)
u32
suffixed integer literal.
U64(U64Literal<S>)
u64
suffixed integer literal.
U128(U128Literal<S>)
u128
suffixed integer literal.
Usize(UsizeLiteral<S>)
usize
suffixed integer literal.
F32(F32Literal<S>)
f32
suffixed floating point literal.
F64(F64Literal<S>)
f64
suffixed floating point literal.
Trait Implementations§
source§impl<S: Clone + Span> Clone for LiteralValue<S>
impl<S: Clone + Span> Clone for LiteralValue<S>
source§fn clone(&self) -> LiteralValue<S>
fn clone(&self) -> LiteralValue<S>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<S: SpanExt> From<ByteCharacterLiteral<S>> for LiteralValue<S>
impl<S: SpanExt> From<ByteCharacterLiteral<S>> for LiteralValue<S>
source§fn from(value: ByteCharacterLiteral<S>) -> Self
fn from(value: ByteCharacterLiteral<S>) -> Self
source§impl<S: SpanExt> From<ByteStringLiteral<S>> for LiteralValue<S>
impl<S: SpanExt> From<ByteStringLiteral<S>> for LiteralValue<S>
source§fn from(value: ByteStringLiteral<S>) -> Self
fn from(value: ByteStringLiteral<S>) -> Self
source§impl<S: SpanExt> From<CStringLiteral<S>> for LiteralValue<S>
impl<S: SpanExt> From<CStringLiteral<S>> for LiteralValue<S>
source§fn from(value: CStringLiteral<S>) -> Self
fn from(value: CStringLiteral<S>) -> Self
source§impl<S: SpanExt> From<CharacterLiteral<S>> for LiteralValue<S>
impl<S: SpanExt> From<CharacterLiteral<S>> for LiteralValue<S>
source§fn from(value: CharacterLiteral<S>) -> Self
fn from(value: CharacterLiteral<S>) -> Self
source§impl<S: SpanExt> From<F32Literal<S>> for LiteralValue<S>
impl<S: SpanExt> From<F32Literal<S>> for LiteralValue<S>
source§fn from(value: F32Literal<S>) -> Self
fn from(value: F32Literal<S>) -> Self
source§impl<S: SpanExt> From<F64Literal<S>> for LiteralValue<S>
impl<S: SpanExt> From<F64Literal<S>> for LiteralValue<S>
source§fn from(value: F64Literal<S>) -> Self
fn from(value: F64Literal<S>) -> Self
source§impl<S: SpanExt> From<FloatLiteral<S>> for LiteralValue<S>
impl<S: SpanExt> From<FloatLiteral<S>> for LiteralValue<S>
source§fn from(value: FloatLiteral<S>) -> Self
fn from(value: FloatLiteral<S>) -> Self
source§impl<S: SpanExt> From<I128Literal<S>> for LiteralValue<S>
impl<S: SpanExt> From<I128Literal<S>> for LiteralValue<S>
source§fn from(value: I128Literal<S>) -> Self
fn from(value: I128Literal<S>) -> Self
source§impl<S: SpanExt> From<I16Literal<S>> for LiteralValue<S>
impl<S: SpanExt> From<I16Literal<S>> for LiteralValue<S>
source§fn from(value: I16Literal<S>) -> Self
fn from(value: I16Literal<S>) -> Self
source§impl<S: SpanExt> From<I32Literal<S>> for LiteralValue<S>
impl<S: SpanExt> From<I32Literal<S>> for LiteralValue<S>
source§fn from(value: I32Literal<S>) -> Self
fn from(value: I32Literal<S>) -> Self
source§impl<S: SpanExt> From<I64Literal<S>> for LiteralValue<S>
impl<S: SpanExt> From<I64Literal<S>> for LiteralValue<S>
source§fn from(value: I64Literal<S>) -> Self
fn from(value: I64Literal<S>) -> Self
source§impl<S: SpanExt> From<IntLiteral<S>> for LiteralValue<S>
impl<S: SpanExt> From<IntLiteral<S>> for LiteralValue<S>
source§fn from(value: IntLiteral<S>) -> Self
fn from(value: IntLiteral<S>) -> Self
source§impl<S: SpanExt> From<IsizeLiteral<S>> for LiteralValue<S>
impl<S: SpanExt> From<IsizeLiteral<S>> for LiteralValue<S>
source§fn from(value: IsizeLiteral<S>) -> Self
fn from(value: IsizeLiteral<S>) -> Self
source§impl From<LiteralValue<Span>> for Literal
Available on crate feature proc-macro
only.
impl From<LiteralValue<Span>> for Literal
proc-macro
only.source§fn from(value: LiteralValue<Span>) -> Self
fn from(value: LiteralValue<Span>) -> Self
source§impl From<LiteralValue<Span>> for Literal
Available on crate feature proc-macro2
only.
impl From<LiteralValue<Span>> for Literal
proc-macro2
only.source§fn from(value: LiteralValue<Span>) -> Self
fn from(value: LiteralValue<Span>) -> Self
source§impl<S: SpanExt> From<StringLiteral<S>> for LiteralValue<S>
impl<S: SpanExt> From<StringLiteral<S>> for LiteralValue<S>
source§fn from(value: StringLiteral<S>) -> Self
fn from(value: StringLiteral<S>) -> Self
source§impl<S: SpanExt> From<U128Literal<S>> for LiteralValue<S>
impl<S: SpanExt> From<U128Literal<S>> for LiteralValue<S>
source§fn from(value: U128Literal<S>) -> Self
fn from(value: U128Literal<S>) -> Self
source§impl<S: SpanExt> From<U16Literal<S>> for LiteralValue<S>
impl<S: SpanExt> From<U16Literal<S>> for LiteralValue<S>
source§fn from(value: U16Literal<S>) -> Self
fn from(value: U16Literal<S>) -> Self
source§impl<S: SpanExt> From<U32Literal<S>> for LiteralValue<S>
impl<S: SpanExt> From<U32Literal<S>> for LiteralValue<S>
source§fn from(value: U32Literal<S>) -> Self
fn from(value: U32Literal<S>) -> Self
source§impl<S: SpanExt> From<U64Literal<S>> for LiteralValue<S>
impl<S: SpanExt> From<U64Literal<S>> for LiteralValue<S>
source§fn from(value: U64Literal<S>) -> Self
fn from(value: U64Literal<S>) -> Self
source§impl<S: SpanExt> From<UsizeLiteral<S>> for LiteralValue<S>
impl<S: SpanExt> From<UsizeLiteral<S>> for LiteralValue<S>
source§fn from(value: UsizeLiteral<S>) -> Self
fn from(value: UsizeLiteral<S>) -> Self
source§impl<S: SpanExt> FromStr for LiteralValue<S>
impl<S: SpanExt> FromStr for LiteralValue<S>
source§impl<T: TokenTreeExt> IntoTokens<T> for LiteralValue<T::Span>
impl<T: TokenTreeExt> IntoTokens<T> for LiteralValue<T::Span>
source§fn into_tokens(self) -> impl Iterator<Item = T>
fn into_tokens(self) -> impl Iterator<Item = T>
source§impl<T: TokenTreeExt> Parse<T> for LiteralValue<T::Span>
impl<T: TokenTreeExt> Parse<T> for LiteralValue<T::Span>
source§impl<T: TokenStreamExt> ToTokenStream<T> for LiteralValue<T::Span>
impl<T: TokenStreamExt> ToTokenStream<T> for LiteralValue<T::Span>
source§fn extend_token_stream(&self, token_stream: &mut T)
fn extend_token_stream(&self, token_stream: &mut T)
TokenStream
with a representation of this object.source§fn into_token_stream(self) -> Twhere
Self: Sized,
fn into_token_stream(self) -> Twhere
Self: Sized,
TokenStream
with a representation of this object.source§fn to_token_stream(&self) -> T
fn to_token_stream(&self) -> T
TokenStream
with a representation of this object.source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for ByteCharacterLiteral<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for ByteCharacterLiteral<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for ByteStringLiteral<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for ByteStringLiteral<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for CStringLiteral<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for CStringLiteral<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for CharacterLiteral<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for CharacterLiteral<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for F32Literal<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for F32Literal<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for F64Literal<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for F64Literal<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for FloatLiteral<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for FloatLiteral<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for I128Literal<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for I128Literal<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for I16Literal<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for I16Literal<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for I32Literal<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for I32Literal<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for I64Literal<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for I64Literal<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for IntLiteral<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for IntLiteral<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for IsizeLiteral<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for IsizeLiteral<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for StringLiteral<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for StringLiteral<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for U128Literal<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for U128Literal<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for U16Literal<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for U16Literal<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for U32Literal<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for U32Literal<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for U64Literal<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for U64Literal<S>
source§impl<S: SpanExt> TryFrom<LiteralValue<S>> for UsizeLiteral<S>
impl<S: SpanExt> TryFrom<LiteralValue<S>> for UsizeLiteral<S>
Auto Trait Implementations§
impl<S> Freeze for LiteralValue<S>where
S: Freeze,
impl<S> RefUnwindSafe for LiteralValue<S>where
S: RefUnwindSafe,
impl<S> Send for LiteralValue<S>where
S: Send,
impl<S> Sync for LiteralValue<S>where
S: Sync,
impl<S> Unpin for LiteralValue<S>where
S: Unpin,
impl<S> UnwindSafe for LiteralValue<S>where
S: UnwindSafe,
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, X> DefaultParser<T> for Xwhere
T: TokenTreeExt,
X: Parse<T>,
impl<T, X> DefaultParser<T> for Xwhere
T: TokenTreeExt,
X: Parse<T>,
source§impl<T, X> ToTokenBuffer<T> for X
impl<T, X> ToTokenBuffer<T> for X
source§fn extend_token_buffer(&self, token_buffer: &mut TokenBuffer<T>)
fn extend_token_buffer(&self, token_buffer: &mut TokenBuffer<T>)
TokenBuffer
with tokens representing this object.source§fn to_token_buffer(&self) -> TokenBuffer<T>
fn to_token_buffer(&self) -> TokenBuffer<T>
TokenBuffer
with tokens representing this object.