Crate unique_type_id [] [src]

A unique id generator for rust types.

The crate provides a trait and a procedural macro. By deriving one, you implement the trait with fn id() -> TypeId static method. The type id is unique in the whole project.

For examples, see the tests directory in the source tree.

# Usage

The example usage:

#[macro_use]
extern crate unique_type_id_derive;
extern crate unique_type_id;

fn check_id() {
    use unique_type_id::UniqueTypeId;

    // This code uses "types.toml" (the default) file for ids.
    #[derive(UniqueTypeId)]
    struct Test1;
    #[derive(UniqueTypeId)]
    struct Test2;

    assert_eq!(Test1::id().0, 1u64);
    assert_eq!(Test2::id().0, 2u64);
}

Structs

TypeId

A strong type for type id.

Traits

UniqueTypeId

A trait for providing a type id number.