pub struct TypeId { /* private fields */ }
Expand description
A TypeId
represents a globally unique identifier for a type.
Each TypeId
is an opaque object which does not allow inspection of what’s
inside but does allow basic operations such as cloning, comparison,
printing, and showing.
A TypeId
is currently only available for types which ascribe to 'static
,
but this limitation may be removed in the future.
While TypeId
implements Hash
, PartialOrd
, and Ord
, it is worth
noting that the hashes and ordering will vary between Rust releases. Beware
of relying on them inside of your code!
Implementations
sourceimpl TypeId
impl TypeId
const: unstable · sourcepub fn of<T>() -> TypeIdwhere
T: 'static + ?Sized,
pub fn of<T>() -> TypeIdwhere
T: 'static + ?Sized,
Returns the TypeId
of the type this generic function has been
instantiated with.
Examples
use std::any::{Any, TypeId};
fn is_string<T: ?Sized + Any>(_s: &T) -> bool {
TypeId::of::<String>() == TypeId::of::<T>()
}
assert_eq!(is_string(&0), false);
assert_eq!(is_string(&"cookie monster".to_string()), true);
RunTrait Implementations
sourceimpl Ord for TypeId
impl Ord for TypeId
1.21.0 · sourceconst fn max(self, other: Self) -> Self
const fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourceconst fn min(self, other: Self) -> Self
const fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourceconst fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
const fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialOrd<TypeId> for TypeId
impl PartialOrd<TypeId> for TypeId
sourcefn partial_cmp(&self, other: &TypeId) -> Option<Ordering>
fn partial_cmp(&self, other: &TypeId) -> Option<Ordering>
sourceconst fn le(&self, other: &Rhs) -> bool
const fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for TypeId
impl Eq for TypeId
impl StructuralEq for TypeId
impl StructuralPartialEq for TypeId
Auto Trait Implementations
impl RefUnwindSafe for TypeId
impl Send for TypeId
impl Sync for TypeId
impl Unpin for TypeId
impl UnwindSafe for TypeId
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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