[−][src]Struct rustc_ap_syntax_pos::symbol::InternedString
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]
Convert to a LocalInternedString. This is a slowish operation because it
requires locking the symbol interner.
Trait Implementations
impl Eq for InternedString[src]
impl Clone for InternedString[src]
fn clone(&self) -> InternedString[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl PartialOrd<InternedString> for InternedString[src]
fn partial_cmp(&self, other: &InternedString) -> Option<Ordering>[src]
#[must_use]
fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ge(&self, other: &Rhs) -> bool1.0.0[src]
impl PartialEq<InternedString> for InternedString[src]
fn eq(&self, other: &InternedString) -> bool[src]
fn ne(&self, other: &InternedString) -> bool[src]
impl Ord for InternedString[src]
fn cmp(&self, other: &InternedString) -> Ordering[src]
fn max(self, other: Self) -> Self1.21.0[src]
fn min(self, other: Self) -> Self1.21.0[src]
fn clamp(self, min: Self, max: Self) -> Self[src]
impl Copy for InternedString[src]
impl Hash for InternedString[src]
fn hash<H: Hasher>(&self, state: &mut H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl Debug for InternedString[src]
impl Display for InternedString[src]
impl Encodable for InternedString[src]
impl Decodable for InternedString[src]
Auto Trait Implementations
impl Send for InternedString
impl Unpin for InternedString
impl Sync for InternedString
impl UnwindSafe for InternedString
impl RefUnwindSafe for InternedString
Blanket Implementations
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> From<T> for T[src]
impl<T> ToString for T where
T: Display + ?Sized, [src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Encodable for T where
T: UseSpecializedEncodable + ?Sized, [src]
T: UseSpecializedEncodable + ?Sized,
impl<T> Decodable for T where
T: UseSpecializedDecodable, [src]
T: UseSpecializedDecodable,
impl<E> SpecializationError for E[src]
default fn not_found<S, T>(
trait_name: &'static str,
method_name: &'static str
) -> E where
T: ?Sized, [src]
trait_name: &'static str,
method_name: &'static str
) -> E where
T: ?Sized,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,