Struct std::any::TypeId 1.0.0[−][src]
pub struct TypeId { /* fields omitted */ }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
impl TypeId[src]
impl TypeId[src]pub const fn of<T>() -> TypeId where
T: 'static + ?Sized, [src]
pub const fn of<T>() -> TypeId where
T: 'static + ?Sized, [src]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);Run
Trait Implementations
impl Ord for TypeId[src]
impl Ord for TypeId[src]impl PartialOrd<TypeId> for TypeId[src]
impl PartialOrd<TypeId> for TypeId[src]pub fn partial_cmp(&self, other: &TypeId) -> Option<Ordering>[src]
pub fn partial_cmp(&self, other: &TypeId) -> Option<Ordering>[src]This method returns an ordering between self and other values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool[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) -> bool[src]
#[must_use]fn le(&self, other: &Rhs) -> bool[src]This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Copy for TypeId[src]
impl Eq for TypeId[src]
impl StructuralEq for TypeId[src]
impl StructuralPartialEq for TypeId[src]
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
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into #41263)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more