type ExpnHashTable = LazyTable<ExpnIndex, Option<LazyValue<ExpnHash>>>;

Aliased Type§

struct ExpnHashTable {
    position: NonZeroUsize,
    width: usize,
    len: usize,
    _marker: PhantomData<fn(_: ExpnIndex) -> Option<LazyValue<ExpnHash>>>,
}

Fields§

§position: NonZeroUsize§width: usize

The encoded size of the elements of a table is selected at runtime to drop trailing zeroes. This is the number of bytes used for each table element.

§len: usize

How many elements are in the table.

§_marker: PhantomData<fn(_: ExpnIndex) -> Option<LazyValue<ExpnHash>>>

Implementations§

source§

impl<I: Idx, const N: usize, T: FixedSizeEncoding<ByteArray = [u8; N]> + ParameterizedOverTcx> LazyTable<I, T>where for<'tcx> T::Value<'tcx>: FixedSizeEncoding<ByteArray = [u8; N]>,

source

pub(super) fn get<'a, 'tcx, M: Metadata<'a, 'tcx>>( &self, metadata: M, i: I ) -> T::Value<'tcx>

Given the metadata, extract out the value at a particular index (if any).

source

pub(super) fn size(&self) -> usize

Size of the table in entries, including possible gaps.

source§

impl<I, T> LazyTable<I, T>

Trait Implementations§

source§

impl<I, T> Clone for LazyTable<I, T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a, 'tcx, I: Idx, T> Decodable<DecodeContext<'a, 'tcx>> for LazyTable<I, T>

source§

fn decode(decoder: &mut DecodeContext<'a, 'tcx>) -> Self

source§

impl<'a, 'tcx, I, T> Encodable<EncodeContext<'a, 'tcx>> for LazyTable<I, T>

source§

fn encode(&self, e: &mut EncodeContext<'a, 'tcx>)

source§

impl<I: 'static, T: ParameterizedOverTcx> ParameterizedOverTcx for LazyTable<I, T>

§

type Value<'tcx> = LazyTable<I, <T as ParameterizedOverTcx>::Value<'tcx>>

source§

impl<I, T> Copy for LazyTable<I, T>

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: 24 bytes