Struct proc_macro::Literal
1.29.0 · source · [−]pub struct Literal(_);Expand description
A literal string ("hello"), byte string (b"hello"),
character ('a'), byte character (b'a'), an integer or floating point number
with or without a suffix (1, 1u8, 2.3, 2.3f32).
Boolean literals like true and false do not belong here, they are Idents.
Implementations
impl Literal
source
impl Literal
sourcepub fn u8_suffixed(n: u8) -> Literal
source
pub fn u8_suffixed(n: u8) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn u16_suffixed(n: u16) -> Literal
source
pub fn u16_suffixed(n: u16) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn u32_suffixed(n: u32) -> Literal
source
pub fn u32_suffixed(n: u32) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn u64_suffixed(n: u64) -> Literal
source
pub fn u64_suffixed(n: u64) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn u128_suffixed(n: u128) -> Literal
source
pub fn u128_suffixed(n: u128) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn usize_suffixed(n: usize) -> Literal
source
pub fn usize_suffixed(n: usize) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn i8_suffixed(n: i8) -> Literal
source
pub fn i8_suffixed(n: i8) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn i16_suffixed(n: i16) -> Literal
source
pub fn i16_suffixed(n: i16) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn i32_suffixed(n: i32) -> Literal
source
pub fn i32_suffixed(n: i32) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn i64_suffixed(n: i64) -> Literal
source
pub fn i64_suffixed(n: i64) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn i128_suffixed(n: i128) -> Literal
source
pub fn i128_suffixed(n: i128) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn isize_suffixed(n: isize) -> Literal
source
pub fn isize_suffixed(n: isize) -> Literal
sourceCreates a new suffixed integer literal with the specified value.
This function will create an integer like 1u32 where the integer
value specified is the first part of the token and the integral is
also suffixed at the end.
Literals created from negative numbers might not survive round-trips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn u8_unsuffixed(n: u8) -> Literal
source
pub fn u8_unsuffixed(n: u8) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn u16_unsuffixed(n: u16) -> Literal
source
pub fn u16_unsuffixed(n: u16) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn u32_unsuffixed(n: u32) -> Literal
source
pub fn u32_unsuffixed(n: u32) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn u64_unsuffixed(n: u64) -> Literal
source
pub fn u64_unsuffixed(n: u64) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn u128_unsuffixed(n: u128) -> Literal
source
pub fn u128_unsuffixed(n: u128) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn usize_unsuffixed(n: usize) -> Literal
source
pub fn usize_unsuffixed(n: usize) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn i8_unsuffixed(n: i8) -> Literal
source
pub fn i8_unsuffixed(n: i8) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn i16_unsuffixed(n: i16) -> Literal
source
pub fn i16_unsuffixed(n: i16) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn i32_unsuffixed(n: i32) -> Literal
source
pub fn i32_unsuffixed(n: i32) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn i64_unsuffixed(n: i64) -> Literal
source
pub fn i64_unsuffixed(n: i64) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn i128_unsuffixed(n: i128) -> Literal
source
pub fn i128_unsuffixed(n: i128) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn isize_unsuffixed(n: isize) -> Literal
source
pub fn isize_unsuffixed(n: isize) -> Literal
sourceCreates a new unsuffixed integer literal with the specified value.
This function will create an integer like 1 where the integer
value specified is the first part of the token. No suffix is
specified on this token, meaning that invocations like
Literal::i8_unsuffixed(1) are equivalent to
Literal::u32_unsuffixed(1).
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Literals created through this method have the Span::call_site()
span by default, which can be configured with the set_span method
below.
pub fn f32_unsuffixed(n: f32) -> Literal
source
pub fn f32_unsuffixed(n: f32) -> Literal
sourceCreates a new unsuffixed floating-point literal.
This constructor is similar to those like Literal::i8_unsuffixed where
the float’s value is emitted directly into the token but no suffix is
used, so it may be inferred to be a f64 later in the compiler.
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Panics
This function requires that the specified float is finite, for example if it is infinity or NaN this function will panic.
pub fn f32_suffixed(n: f32) -> Literal
source
pub fn f32_suffixed(n: f32) -> Literal
sourceCreates a new suffixed floating-point literal.
This constructor will create a literal like 1.0f32 where the value
specified is the preceding part of the token and f32 is the suffix of
the token. This token will always be inferred to be an f32 in the
compiler.
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Panics
This function requires that the specified float is finite, for example if it is infinity or NaN this function will panic.
pub fn f64_unsuffixed(n: f64) -> Literal
source
pub fn f64_unsuffixed(n: f64) -> Literal
sourceCreates a new unsuffixed floating-point literal.
This constructor is similar to those like Literal::i8_unsuffixed where
the float’s value is emitted directly into the token but no suffix is
used, so it may be inferred to be a f64 later in the compiler.
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Panics
This function requires that the specified float is finite, for example if it is infinity or NaN this function will panic.
pub fn f64_suffixed(n: f64) -> Literal
source
pub fn f64_suffixed(n: f64) -> Literal
sourceCreates a new suffixed floating-point literal.
This constructor will create a literal like 1.0f64 where the value
specified is the preceding part of the token and f64 is the suffix of
the token. This token will always be inferred to be an f64 in the
compiler.
Literals created from negative numbers might not survive rountrips through
TokenStream or strings and may be broken into two tokens (- and positive literal).
Panics
This function requires that the specified float is finite, for example if it is infinity or NaN this function will panic.
Trait Implementations
impl Display for Literal
source
impl Display for Literal
sourcePrints the literal as a string that should be losslessly convertible back into the same literal (except for possible rounding for floating point literals).
impl FromStr for Literal
1.54.0 · source
impl FromStr for Literal
1.54.0 · sourceParse a single literal from its stringified representation.
In order to parse successfully, the input string must not contain anything but the literal token. Specifically, it must not contain whitespace or comments in addition to the literal.
The resulting literal token will have a Span::call_site() span.
NOTE: some errors may cause panics instead of returning LexError. We
reserve the right to change these errors into LexErrors later.
Auto Trait Implementations
impl RefUnwindSafe for Literal
impl !Send for Literal
impl !Sync for Literal
impl Unpin for Literal
impl UnwindSafe for Literal
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
source
impl<T> BorrowMut<T> for T where
T: ?Sized,
sourcefn borrow_mut(&mut self) -> &mut T
const: unstable · source
fn borrow_mut(&mut self) -> &mut T
const: unstable · sourceMutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
source
impl<T> ToOwned for T where
T: Clone,
sourcetype Owned = T
type Owned = T
The resulting type after obtaining ownership.
fn clone_into(&self, target: &mut T)
source
fn clone_into(&self, target: &mut T)
sourceUses borrowed data to replace owned data, usually by cloning. Read more