Struct litrs::IntegerLit[][src]

#[non_exhaustive]
pub struct IntegerLit<B: Buffer> { /* fields omitted */ }
Expand description

An integer literal, e.g. 27, 0x7F, 0b101010u8 or 5_000_000i64.

An integer literal consists of an optional base prefix (0b, 0o, 0x), the main part (digits and underscores), and an optional type suffix (e.g. u64 or i8). See the reference for more information.

Note that integer literals are always positive: the grammar does not contain the minus sign at all. The minus sign is just the unary negate operator, not part of the literal. Which is interesting for cases like - 128i8: here, the literal itself would overflow the specified type (i8 cannot represent 128). That’s why in rustc, the literal overflow check is performed as a lint after parsing, not during the lexing stage. Similarly, IntegerLit::parse does not perform an overflow check.

Implementations

impl<B: Buffer> IntegerLit<B>[src]

pub fn parse(input: B) -> Result<Self, ParseError>[src]

Parses the input as an integer literal. Returns an error if the input is invalid or represents a different kind of literal.

pub fn value<N: FromIntegerLiteral>(&self) -> Option<N>[src]

Performs the actual string to int conversion to obtain the integer value. The optional type suffix of the literal is ignored by this method. This means N does not need to match the type suffix!

Returns None if the literal overflows N.

pub fn base(&self) -> IntegerBase[src]

The base of this integer literal.

pub fn raw_main_part(&self) -> &str[src]

The main part containing the digits and potentially _. Do not try to parse this directly as that would ignore the base!

pub fn type_suffix(&self) -> Option<IntegerType>[src]

The type suffix, if specified.

impl IntegerLit<&str>[src]

pub fn to_owned(&self) -> IntegerLit<String>[src]

Makes a copy of the underlying buffer and returns the owned version of Self.

Trait Implementations

impl<B: Clone + Buffer> Clone for IntegerLit<B>[src]

fn clone(&self) -> IntegerLit<B>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<B: Debug + Buffer> Debug for IntegerLit<B>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<B: Buffer> Display for IntegerLit<B>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<B: Buffer> From<IntegerLit<B>> for Literal<B>[src]

fn from(src: IntegerLit<B>) -> Self[src]

Performs the conversion.

impl<B: PartialEq + Buffer> PartialEq<IntegerLit<B>> for IntegerLit<B>[src]

fn eq(&self, other: &IntegerLit<B>) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &IntegerLit<B>) -> bool[src]

This method tests for !=.

impl TryFrom<&'_ Literal> for IntegerLit<String>[src]

type Error = InvalidToken

The type returned in the event of a conversion error.

fn try_from(src: &Literal) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl TryFrom<&'_ Literal> for IntegerLit<String>[src]

type Error = InvalidToken

The type returned in the event of a conversion error.

fn try_from(src: &Literal) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl TryFrom<&'_ TokenTree> for IntegerLit<String>[src]

type Error = InvalidToken

The type returned in the event of a conversion error.

fn try_from(tt: &TokenTree) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl TryFrom<&'_ TokenTree> for IntegerLit<String>[src]

type Error = InvalidToken

The type returned in the event of a conversion error.

fn try_from(tt: &TokenTree) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl TryFrom<Literal> for IntegerLit<String>[src]

type Error = InvalidToken

The type returned in the event of a conversion error.

fn try_from(src: Literal) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl TryFrom<Literal> for IntegerLit<String>[src]

type Error = InvalidToken

The type returned in the event of a conversion error.

fn try_from(src: Literal) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl TryFrom<TokenTree> for IntegerLit<String>[src]

type Error = InvalidToken

The type returned in the event of a conversion error.

fn try_from(tt: TokenTree) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl TryFrom<TokenTree> for IntegerLit<String>[src]

type Error = InvalidToken

The type returned in the event of a conversion error.

fn try_from(tt: TokenTree) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl<B: Copy + Buffer> Copy for IntegerLit<B>[src]

impl<B: Eq + Buffer> Eq for IntegerLit<B>[src]

impl<B: Buffer> StructuralEq for IntegerLit<B>[src]

impl<B: Buffer> StructuralPartialEq for IntegerLit<B>[src]

Auto Trait Implementations

impl<B> RefUnwindSafe for IntegerLit<B> where
    B: RefUnwindSafe

impl<B> Send for IntegerLit<B> where
    B: Send

impl<B> Sync for IntegerLit<B> where
    B: Sync

impl<B> Unpin for IntegerLit<B> where
    B: Unpin

impl<B> UnwindSafe for IntegerLit<B> where
    B: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T> ToString for T where
    T: Display + ?Sized
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.