Macro rustc_index::newtype_index
source · newtype_index!() { /* proc-macro */ }
Expand description
Creates a struct type S
that can be used as an index with
IndexVec
and so on.
There are two ways of interacting with these indices:
-
The
From
impls are the preferred way. So you can doS::from(v)
with ausize
oru32
. And you can convert back to an integer withu32::from(s)
. -
Alternatively, you can use the methods
S::new(v)
ands.index()
to create/return a value.
Internally, the index uses a u32, so the index must not exceed
u32::MAX
. You can also customize things like the Debug
impl,
what traits are derived, and so forth via the macro.