struct Interner {
arena: Arena,
names: HashMap<&'static str, Symbol, BuildHasherDefault<FxHasher>>,
strings: Vec<&'static str>,
sym_base: NonZero<u32>,
}
🔬This is a nightly-only experimental API. (
proc_macro_internals
#27812)Expand description
Basic interner for a Symbol
, inspired by the one in rustc_span
.
Fields§
§arena: Arena
🔬This is a nightly-only experimental API. (
§proc_macro_internals
#27812)names: HashMap<&'static str, Symbol, BuildHasherDefault<FxHasher>>
🔬This is a nightly-only experimental API. (
§proc_macro_internals
#27812)strings: Vec<&'static str>
🔬This is a nightly-only experimental API. (
§proc_macro_internals
#27812)sym_base: NonZero<u32>
🔬This is a nightly-only experimental API. (
proc_macro_internals
#27812)Implementations§
Source§impl Interner
impl Interner
Auto Trait Implementations§
impl !Freeze for Interner
impl !RefUnwindSafe for Interner
impl !Send for Interner
impl !Sync for Interner
impl Unpin 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> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)The largest safe length for a
[Self]
. Read more