[][src]Struct syntax_pos::symbol::Ident

pub struct Ident {
    pub name: Symbol,
    pub span: Span,
}

Fields

name: Symbolspan: Span

Methods

impl Ident[src]

pub const fn new(name: Symbol, span: Span) -> Ident[src]

Constructs a new identifier from a symbol and a span.

pub const fn with_dummy_span(name: Symbol) -> Ident[src]

Constructs a new identifier with a dummy span.

pub fn invalid() -> Ident[src]

pub fn from_interned_str(string: InternedString) -> Ident[src]

Maps an interned string to an identifier with an empty syntax context.

pub fn from_str(string: &str) -> Ident[src]

Maps a string to an identifier with an empty span.

pub fn from_str_and_span(string: &str, span: Span) -> Ident[src]

Maps a string and a span to an identifier.

pub fn with_span_pos(self, span: Span) -> Ident[src]

Replaces lo and hi with those from span, but keep hygiene context.

pub fn without_first_quote(self) -> Ident[src]

pub fn modern(self) -> Ident[src]

"Normalize" ident for use in comparisons using "item hygiene". Identifiers with same string value become same if they came from the same "modern" macro (e.g., macro item, but not macro_rules item) and stay different if they came from different "modern" macros. Technically, this operation strips all non-opaque marks from ident's syntactic context.

pub fn modern_and_legacy(self) -> Ident[src]

"Normalize" ident for use in comparisons using "local variable hygiene". Identifiers with same string value become same if they came from the same non-transparent macro (e.g., macro or macro_rules! items) and stay different if they came from different non-transparent macros. Technically, this operation strips all transparent marks from ident's syntactic context.

pub fn gensym(self) -> Ident[src]

Transforms an identifier into one with the same name, but gensymed.

pub fn gensym_if_underscore(self) -> Ident[src]

Transforms an underscore identifier into one with the same name, but gensymed. Leaves non-underscore identifiers unchanged.

pub fn is_gensymed(self) -> bool[src]

pub fn as_str(self) -> LocalInternedString[src]

pub fn as_interned_str(self) -> InternedString[src]

impl Ident[src]

pub fn is_special(self) -> bool[src]

pub fn is_used_keyword(self) -> bool[src]

Returns true if the token is a keyword used in the language.

pub fn is_unused_keyword(self) -> bool[src]

Returns true if the token is a keyword reserved for possible future use.

pub fn is_reserved(self) -> bool[src]

Returns true if the token is either a special identifier or a keyword.

pub fn is_path_segment_keyword(self) -> bool[src]

A keyword or reserved identifier that can be used as a path segment.

pub fn is_raw_guess(self) -> bool[src]

We see this identifier in a normal identifier position, like variable name or a type. How was it written originally? Did it use the raw form? Let's try to guess.

Trait Implementations

impl Clone for Ident[src]

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

Performs copy-assignment from source. Read more

impl Copy for Ident[src]

impl Eq for Ident[src]

impl PartialEq<Ident> for Ident[src]

#[must_use] fn ne(&self, other: &Rhs) -> bool1.0.0[src]

This method tests for !=.

impl Hash for Ident[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl Display for Ident[src]

impl Debug for Ident[src]

impl UseSpecializedEncodable for Ident[src]

fn default_encode<E>(&self, &mut E) -> Result<(), <E as Encoder>::Error> where
    E: Encoder
[src]

Defaults to returning an error (see SpecializationError).

impl UseSpecializedDecodable for Ident[src]

fn default_decode<D>(&mut D) -> Result<Self, <D as Decoder>::Error> where
    D: Decoder
[src]

Defaults to returning an error (see SpecializationError).

Auto Trait Implementations

impl Unpin for Ident

impl !Sync for Ident

impl !Send for Ident

impl UnwindSafe for Ident

impl RefUnwindSafe for Ident

Blanket Implementations

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

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

type Owned = T

The resulting type after obtaining ownership.

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

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

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.

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

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

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

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

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

impl<E> SpecializationError for E[src]

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

impl<T> Erased for T[src]