pub struct Interner { /* private fields */ }Expand description
String interner for deduplicating identifier strings.
Thread-safe via internal locking.
Implementations§
Source§impl Interner
impl Interner
Sourcepub fn intern(&self, s: &str) -> Name
pub fn intern(&self, s: &str) -> Name
Intern a string, returning a Name handle.
If the string has been interned before, returns the existing Name.
Sourcepub fn lookup(&self, name: Name) -> Option<SmolStr>
pub fn lookup(&self, name: Name) -> Option<SmolStr>
Look up the string for a Name.
Returns None if the Name was created by a different interner.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Interner
impl !RefUnwindSafe for Interner
impl Send for Interner
impl Sync for Interner
impl Unpin for Interner
impl UnsafeUnpin for Interner
impl UnwindSafe for Interner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more