[][src]Struct syntax_pos::symbol::InternedString

pub struct InternedString { /* fields omitted */ }

An alternative to Symbol that is focused on string contents. It has two main differences to Symbol.

First, its implementations of Hash, PartialOrd and Ord work with the string chars rather than the symbol integer. This is useful when hash stability is required across compile sessions, or a guaranteed sort ordering is required.

Second, gensym-ness is irrelevant. E.g.:

assert_ne!(Symbol::gensym("x"), Symbol::gensym("x"))
assert_eq!(Symbol::gensym("x").as_interned_str(), Symbol::gensym("x").as_interned_str())

Methods

impl InternedString[src]

pub fn intern(string: &str) -> Self[src]

Maps a string to its interned representation.

pub fn with<F: FnOnce(&str) -> R, R>(self, f: F) -> R[src]

pub fn as_symbol(self) -> Symbol[src]

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

Trait Implementations

impl Eq for InternedString[src]

impl Clone for InternedString[src]

impl PartialOrd<InternedString> for InternedString[src]

impl Ord for InternedString[src]

impl PartialEq<InternedString> for InternedString[src]

impl Copy for InternedString[src]

impl Hash for InternedString[src]

impl Display for InternedString[src]

impl Debug for InternedString[src]

impl Encodable for InternedString[src]

impl Decodable for InternedString[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<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]