Struct salsa::InternId [−][src]
pub struct InternId { /* fields omitted */ }
Expand description
The “raw-id” is used for interned keys in salsa – it is basically a newtype’d u32. Typically, it is wrapped in a type of your own devising. For more information about interned keys, see the interned key RFC.
Creating a InternId
InternId values can be constructed using the From
impls,
which are implemented for u32
and usize
:
let intern_id1 = InternId::from(22_u32);
let intern_id2 = InternId::from(22_usize);
assert_eq!(intern_id1, intern_id2);
Converting to a u32 or usize
Normally, there should be no need to access the underlying integer
in a InternId
. But if you do need to do so, you can convert to a
usize
using the as_u32
or as_usize
methods or the From
impls.
let intern_id = InternId::from(22_u32);
let value = u32::from(intern_id);
assert_eq!(value, 22);
Illegal values
Be warned, however, that InternId
values cannot be created from
arbitrary values – in particular large values greater than
InternId::MAX
will panic. Those large values are reserved so that
the Rust compiler can use them as sentinel values, which means
that (for example) Option<InternId>
is represented in a single
word.
InternId::from(InternId::MAX);
Implementations
The maximum allowed InternId
. This value can grow between
releases without affecting semver.
Convert this raw-id into a u32 value.
let intern_id = InternId::from(22_u32);
let value = intern_id.as_usize();
assert_eq!(value, 22);
Trait Implementations
Create an instance of the intern-key from a u32
value.
Extract the u32
with which the intern-key was created.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for InternId
impl UnwindSafe for InternId
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.