[−][src]Struct syntax::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) -> InternedString[src]
Maps a string to its interned representation.
pub fn with<F, R>(self, f: F) -> R where
F: FnOnce(&str) -> R, [src]
F: FnOnce(&str) -> R,
pub fn as_symbol(self) -> Symbol[src]
pub fn as_str(self) -> LocalInternedString[src]
Trait Implementations
impl PartialEq<InternedString> for InternedString[src]
fn eq(&self, other: &InternedString) -> bool[src]
fn ne(&self, other: &InternedString) -> bool[src]
impl Display for InternedString[src]
impl Decodable for InternedString[src]
impl Eq for InternedString[src]
impl Ord for InternedString[src]
fn cmp(&self, other: &InternedString) -> Ordering[src]
fn max(self, other: Self) -> Self1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self1.21.0[src]
Compares and returns the minimum of two values. Read more
fn clamp(self, min: Self, max: Self) -> Self[src]
clamp)Restrict a value to a certain interval. Read more
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]
This method tests less than (for self and other) and is used by the < operator. Read more
#[must_use]
fn le(&self, other: &Rhs) -> bool1.0.0[src]
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
#[must_use]
fn gt(&self, other: &Rhs) -> bool1.0.0[src]
This method tests greater than (for self and other) and is used by the > operator. Read more
#[must_use]
fn ge(&self, other: &Rhs) -> bool1.0.0[src]
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl Debug for InternedString[src]
impl Clone for InternedString[src]
fn clone(&self) -> InternedString[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Encodable for InternedString[src]
impl Copy for InternedString[src]
impl Hash 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> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
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> 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> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Erased for T[src]
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,