struct SerializedNodeHeader<D> {
    bytes: [u8; 38],
    _marker: PhantomData<D>,
}Expand description
A packed representation of all the fixed-size fields in a NodeInfo.
This stores in one byte array:
- The 
Fingerprintin theNodeInfo - The 
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]§_marker: PhantomData<D>Implementations§
Source§impl<D: Deps> SerializedNodeHeader<D>
 
impl<D: Deps> SerializedNodeHeader<D>
const TOTAL_BITS: usize = 16usize
const LEN_BITS: usize
const WIDTH_BITS: usize = 2usize
const KIND_BITS: usize
const MAX_INLINE_LEN: usize
fn new( node: DepNode, index: DepNodeIndex, 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 fingerprint(&self) -> Fingerprint
fn node(&self) -> DepNode
fn edges_header(&self, edge_list_data: &[u8], num_edges: u32) -> EdgeHeader
Auto Trait Implementations§
impl<D> DynSend for SerializedNodeHeader<D>where
    D: DynSend,
impl<D> DynSync for SerializedNodeHeader<D>where
    D: DynSync,
impl<D> Freeze for SerializedNodeHeader<D>
impl<D> RefUnwindSafe for SerializedNodeHeader<D>where
    D: RefUnwindSafe,
impl<D> Send for SerializedNodeHeader<D>where
    D: Send,
impl<D> Sync for SerializedNodeHeader<D>where
    D: Sync,
impl<D> Unpin for SerializedNodeHeader<D>where
    D: Unpin,
impl<D> UnwindSafe for SerializedNodeHeader<D>where
    D: UnwindSafe,
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> 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<T> Pointable for T
 
impl<T> Pointable for T
Source§impl<Tcx, T> Value<Tcx> for Twhere
    Tcx: DepContext,
 
impl<Tcx, T> Value<Tcx> for Twhere
    Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed, ) -> 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