# Struct std::any::TypeId 1.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`

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

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`

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

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

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

Feeds a slice of this type into the state provided.

### `impl Debug for TypeId`

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result<(), Error>`

Formats the value using the given formatter.

### `impl Eq for TypeId`

### `impl PartialEq<TypeId> for TypeId`

#### `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`

### `impl Clone for TypeId`

#### `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

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)