INNER CODE UNIT · Rust

deref

spacejam/sled · src/lib.rs:286

    fn deref(&self) -> &u64 {
        let self_ref: &NonZero<u64> = &self.0;

        // NonZeroU64 is repr(transparent) where it wraps a u64
        // so it is guaranteed to match the binary layout. This
        // makes it safe to cast a reference to one as a reference
        // to the other like this.
        let self_ptr: *const NonZero<u64> = self_ref as *const _;
        let reference: *const u64 = self_ptr as *const u64;

        unsafe { &*reference }
    }
}

impl concurrent_map::Minimum for ObjectId {
    const MIN: ObjectId = ObjectId(NonZero::<u64>::MIN);
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…