[][src]Enum rustc_ap_rustc_ast::ast::LitKind

pub enum LitKind {
    Str(SymbolStrStyle),
    ByteStr(Lrc<Vec<u8>>),
    Byte(u8),
    Char(char),
    Int(u128LitIntType),
    Float(SymbolLitFloatType),
    Bool(bool),
    Err(Symbol),
}

Literal kind.

E.g., "foo", 42, 12.34, or bool.

Variants

A string literal ("foo").

ByteStr(Lrc<Vec<u8>>)

A byte string (b"foo").

Byte(u8)

A byte char (b'f').

Char(char)

A character literal ('a').

An integer literal (1).

A float literal (1f64 or 1E10f64).

Bool(bool)

A boolean literal.

Err(Symbol)

Placeholder for a literal that wasn't well-formed in some way.

Methods

impl LitKind[src]

pub fn to_lit_token(&self) -> Lit[src]

Attempts to recover a token from semantic literal. This function is used when the original token doesn't exist (e.g. the literal is created by an AST-based macro) or unavailable (e.g. from HIR pretty-printing).

impl LitKind[src]

pub fn is_str(&self) -> bool[src]

Returns true if this literal is a string.

pub fn is_bytestr(&self) -> bool[src]

Returns true if this literal is byte literal string.

pub fn is_numeric(&self) -> bool[src]

Returns true if this is a numeric literal.

pub fn is_unsuffixed(&self) -> bool[src]

Returns true if this literal has no suffix. Note: this will return true for literals with prefixes such as raw strings and byte strings.

pub fn is_suffixed(&self) -> bool[src]

Returns true if this literal has a suffix.

Trait Implementations

impl Clone for LitKind[src]

impl Debug for LitKind[src]

impl Decodable for LitKind[src]

impl Encodable for LitKind[src]

impl Eq for LitKind[src]

impl Hash for LitKind[src]

impl<__CTX> HashStable<__CTX> for LitKind where
    __CTX: HashStableContext
[src]

impl PartialEq<LitKind> for LitKind[src]

impl StructuralEq for LitKind[src]

impl StructuralPartialEq for LitKind[src]

Auto Trait Implementations

impl !RefUnwindSafe for LitKind

impl !Send for LitKind

impl !Sync for LitKind

impl Unpin for LitKind

impl UnwindSafe for LitKind

Blanket Implementations

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

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

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

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Decodable for T where
    T: UseSpecializedDecodable
[src]

impl<T> Encodable for T where
    T: UseSpecializedEncodable + ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> Erased for T[src]

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

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

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<E> SpecializationError for E[src]

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

type Owned = T

The resulting type after obtaining ownership.

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.

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.