struct SerializedNodeHeader {
bytes: [u8; 38],
}Expand description
A packed representation of all the fixed-size fields in a NodeInfo.
This stores in one byte array:
- The value
Fingerprintin theNodeInfo - The key
FingerprintinDepNodethat is in thisNodeInfo - The
DepKind’s discriminant (a u16, but not all bits are used…) - The byte width of the encoded edges for this node
- In whatever bits remain, the length of the edge list for this node, if it fits
Fields§
§bytes: [u8; 38]Implementations§
Source§impl SerializedNodeHeader
impl SerializedNodeHeader
const TOTAL_BITS: usize
const LEN_BITS: usize
const WIDTH_BITS: usize = DEP_NODE_WIDTH_BITS
const KIND_BITS: usize
const MAX_INLINE_LEN: usize
fn new( node: &DepNode, index: DepNodeIndex, value_fingerprint: Fingerprint, edge_max_index: u32, edge_count: usize, ) -> Self
fn unpack(&self) -> Unpacked
fn len(&self) -> Option<u32>
fn bytes_per_index(&self) -> usize
fn index(&self) -> SerializedDepNodeIndex
fn value_fingerprint(&self) -> Fingerprint
fn node(&self) -> DepNode
fn edges_header(&self, edge_list_data: &[u8], num_edges: u32) -> EdgeHeader
Auto Trait Implementations§
impl DynSend for SerializedNodeHeader
impl DynSync for SerializedNodeHeader
impl Freeze for SerializedNodeHeader
impl RefUnwindSafe for SerializedNodeHeader
impl Send for SerializedNodeHeader
impl Sync for SerializedNodeHeader
impl Unpin for SerializedNodeHeader
impl UnsafeUnpin for SerializedNodeHeader
impl UnwindSafe for SerializedNodeHeader
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
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
Source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 38 bytes