#identifier #unique #unique-identifier

type-key

Unique type identifier for any non-static type

2 releases (1 stable)

1.0.0 Jun 22, 2023
0.1.0 Jun 22, 2023

#51 in #unique-identifier

28 downloads per month
Used in 3 crates (2 directly)

MIT license

3KB

TypeKey

Unique type identifier for any non-static type (unlike core::any::Any)

Usage

use type_key::TypeKey;

let a = 1;
let closure = || &a;

let key = TypeKey::of_val(&closure);

Implementation detail

The TypeKey wraps TypeId of closure in TypeKey::of. Since the closure captures its environment, the returned TypeId is unique for each type.

License

MIT

No runtime deps