pub struct DefinitionId(/* private fields */);Expand description
A tagged 64-bit identifier for any definition in a compiled story.
Layout: [tag: 8 bits][hash: 56 bits]
Implementations§
Source§impl DefinitionId
impl DefinitionId
Sourcepub fn new(tag: DefinitionTag, hash: u64) -> Self
pub fn new(tag: DefinitionTag, hash: u64) -> Self
Create a new id from a tag and a 56-bit hash.
The hash is masked to 56 bits — upper bits are silently discarded.
Sourcepub fn tag(self) -> DefinitionTag
pub fn tag(self) -> DefinitionTag
Extract the tag byte.
Trait Implementations§
Source§impl Clone for DefinitionId
impl Clone for DefinitionId
Source§fn clone(&self) -> DefinitionId
fn clone(&self) -> DefinitionId
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for DefinitionId
Source§impl Debug for DefinitionId
impl Debug for DefinitionId
Source§impl<'de> Deserialize<'de> for DefinitionId
impl<'de> Deserialize<'de> for DefinitionId
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for DefinitionId
impl Display for DefinitionId
impl Eq for DefinitionId
Source§impl Hash for DefinitionId
impl Hash for DefinitionId
Source§impl PartialEq for DefinitionId
impl PartialEq for DefinitionId
Source§fn eq(&self, other: &DefinitionId) -> bool
fn eq(&self, other: &DefinitionId) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for DefinitionId
impl Serialize for DefinitionId
impl StructuralPartialEq for DefinitionId
Auto Trait Implementations§
impl Freeze for DefinitionId
impl RefUnwindSafe for DefinitionId
impl Send for DefinitionId
impl Sync for DefinitionId
impl Unpin for DefinitionId
impl UnsafeUnpin for DefinitionId
impl UnwindSafe for DefinitionId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more