Struct markdown_it::common::TypeKey
source · [−]Expand description
std::any::TypeId and std::any::type_name fused into one struct.
It acts as TypeId when hashed or compared, and it acts as type_name when printed. Used to improve debuggability of type ids in hashmaps in particular.
struct A;
struct B;
let mut set = std::collections::HashSet::new();
set.insert(TypeKey::of::<A>());
set.insert(TypeKey::of::<B>());
assert!(set.contains(&TypeKey::of::<A>()));
dbg!(set);Fields
id: TypeIdtype id (read only)
name: &'static strtype name (read only)
Implementations
Trait Implementations
impl Copy for TypeKey
impl Eq for TypeKey
Auto Trait Implementations
impl RefUnwindSafe for TypeKey
impl Send for TypeKey
impl Sync for TypeKey
impl Unpin for TypeKey
impl UnwindSafe for TypeKey
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
sourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
sourcefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more