Struct litrs::FloatLit

source ·
pub struct FloatLit<B: Buffer> { /* private fields */ }
Expand description

A floating point literal, e.g. 3.14, 8., 135e12, or 1.956e2f64.

This kind of literal has several forms, but generally consists of a main number part, an optional exponent and an optional type suffix. See the reference for more information.

A leading minus sign - is not part of the literal grammar! -3.14 are two tokens in the Rust grammar. Further, 27 and 27f32 are both not float, but integer literals! Consequently FloatLit::parse will reject them.

Implementations§

source§

impl<B: Buffer> FloatLit<B>

source

pub fn parse(s: B) -> Result<Self, ParseError>

Parses the input as a floating point literal. Returns an error if the input is invalid or represents a different kind of literal. Will also reject decimal integer literals like 23 or 17f32, in accordance with the spec.

source

pub fn number_part(&self) -> &str

Returns the number part (including integer part, fractional part and exponent), but without the suffix. If you want an actual floating point value, you need to parse this string, e.g. with f32::from_str or an external crate.

source

pub fn integer_part(&self) -> &str

Returns the non-empty integer part of this literal.

source

pub fn fractional_part(&self) -> Option<&str>

Returns the optional fractional part of this literal. Does not include the period. If a period exists in the input, Some is returned, None otherwise. Note that Some("") might be returned, e.g. for 3..

source

pub fn exponent_part(&self) -> &str

Optional exponent part. Might be empty if there was no exponent part in the input. Includes the e or E at the beginning.

source

pub fn suffix(&self) -> &str

The optional suffix. Returns "" if the suffix is empty/does not exist.

source

pub fn raw_input(&self) -> &str

Returns the raw input that was passed to parse.

source

pub fn into_raw_input(self) -> B

Returns the raw input that was passed to parse, potentially owned.

source§

impl FloatLit<&str>

source

pub fn to_owned(&self) -> FloatLit<String>

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

Trait Implementations§

source§

impl<B: Clone + Buffer> Clone for FloatLit<B>

source§

fn clone(&self) -> FloatLit<B>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<B: Debug + Buffer> Debug for FloatLit<B>

source§

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

Formats the value using the given formatter. Read more
source§

impl<B: Buffer> Display for FloatLit<B>

source§

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

Formats the value using the given formatter. Read more
source§

impl<B: Buffer> From<FloatLit<B>> for Literal

source§

fn from(l: FloatLit<B>) -> Self

Converts to this type from the input type.
source§

impl<B: Buffer> From<FloatLit<B>> for Literal<B>

source§

fn from(src: FloatLit<B>) -> Self

Converts to this type from the input type.
source§

impl<B: Buffer> From<FloatLit<B>> for Literal

source§

fn from(l: FloatLit<B>) -> Self

Converts to this type from the input type.
source§

impl<B: PartialEq + Buffer> PartialEq for FloatLit<B>

source§

fn eq(&self, other: &FloatLit<B>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl TryFrom<&Literal> for FloatLit<String>

§

type Error = InvalidToken

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl TryFrom<&Literal> for FloatLit<String>

§

type Error = InvalidToken

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl TryFrom<&TokenTree> for FloatLit<String>

§

type Error = InvalidToken

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl TryFrom<&TokenTree> for FloatLit<String>

§

type Error = InvalidToken

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl TryFrom<Literal> for FloatLit<String>

§

type Error = InvalidToken

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl TryFrom<Literal> for FloatLit<String>

§

type Error = InvalidToken

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl TryFrom<TokenTree> for FloatLit<String>

§

type Error = InvalidToken

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl TryFrom<TokenTree> for FloatLit<String>

§

type Error = InvalidToken

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<B: Copy + Buffer> Copy for FloatLit<B>

source§

impl<B: Eq + Buffer> Eq for FloatLit<B>

source§

impl<B: Buffer> StructuralEq for FloatLit<B>

source§

impl<B: Buffer> StructuralPartialEq for FloatLit<B>

Auto Trait Implementations§

§

impl<B> RefUnwindSafe for FloatLit<B>
where B: RefUnwindSafe,

§

impl<B> Send for FloatLit<B>
where B: Send,

§

impl<B> Sync for FloatLit<B>
where B: Sync,

§

impl<B> Unpin for FloatLit<B>
where B: Unpin,

§

impl<B> UnwindSafe for FloatLit<B>
where B: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.