Struct core::any::TypeId1.0.0 [] [src]

pub struct TypeId {
    // some fields omitted
}

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.

Methods

impl TypeId
[src]

fn of<T: ?Sized + Reflect + 'static>() -> TypeId

Returns the TypeId of the type this generic function has been instantiated with.

Examples

#![feature(get_type_id)] use std::any::{Any, TypeId}; fn is_string(s: &Any) -> bool { TypeId::of::<String>() == s.get_type_id() } fn main() { assert_eq!(is_string(&0), false); assert_eq!(is_string(&"cookie monster".to_owned()), true); }
#![feature(get_type_id)]

use std::any::{Any, TypeId};

fn is_string(s: &Any) -> bool {
    TypeId::of::<String>() == s.get_type_id()
}

fn main() {
    assert_eq!(is_string(&0), false);
    assert_eq!(is_string(&"cookie monster".to_owned()), true);
}

Trait Implementations

impl Hash for TypeId
[src]

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) where Self: Sized
1.3.0

Feeds a slice of this type into the state provided.

impl Debug for TypeId
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl Eq for TypeId
[src]

impl PartialEq for TypeId
[src]

fn eq(&self, __arg_0: &TypeId) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, __arg_0: &TypeId) -> bool

This method tests for !=.

impl Copy for TypeId
[src]

impl Clone for TypeId
[src]

fn clone(&self) -> TypeId

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more