Skip to main content

Identifier

Derive Macro Identifier 

Source
#[derive(Identifier)]
Expand description

Derive macro for strongly typed usize identifiers.

This derive is intended for tuple newtypes with exactly one usize field, and generates implementations for:

  • Copy, Clone, Debug, Default, PartialEq, Eq, Hash
  • From<usize> and From<Self> for usize
  • registry::Identifier

ยงExample

use jstd::Identifier;

#[derive(Identifier)]
pub struct MyId(usize);

let id = MyId::from(42usize);
let raw: usize = id.into();
assert_eq!(raw, 42);
assert_eq!(MyId::default(), MyId::from(0usize));