pub(crate) struct OffloadManifestDecoder<'a, 'tcx> {
decoder: MemDecoder<'a>,
type_shorthands: Lock<FxHashMap<usize, Ty<'tcx>>>,
predicate_shorthands: Lock<FxHashMap<usize, PredicateKind<'tcx>>>,
tcx: TyCtxt<'tcx>,
def_path_map: Lock<Option<FxHashMap<(Symbol, String), DefId>>>,
}Expand description
Decoder used to read the offload monomorphization manifest.
Fields§
§decoder: MemDecoder<'a>§type_shorthands: Lock<FxHashMap<usize, Ty<'tcx>>>§predicate_shorthands: Lock<FxHashMap<usize, PredicateKind<'tcx>>>§tcx: TyCtxt<'tcx>§def_path_map: Lock<Option<FxHashMap<(Symbol, String), DefId>>>Map from (crate name, DefPath string) to DefId, used to resolve DefIds across compilation sessions where StableCrateId differs.
Implementations§
Trait Implementations§
Source§impl<'a, 'tcx> BlobDecoder for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> BlobDecoder for OffloadManifestDecoder<'a, 'tcx>
fn decode_symbol(&mut self) -> Symbol
fn decode_byte_symbol(&mut self) -> ByteSymbol
fn decode_def_index(&mut self) -> DefIndex
Source§impl<'a, 'tcx> Decoder for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> Decoder for OffloadManifestDecoder<'a, 'tcx>
fn read_usize(&mut self) -> usize
fn read_u128(&mut self) -> u128
fn read_u64(&mut self) -> u64
fn read_u32(&mut self) -> u32
fn read_u16(&mut self) -> u16
fn read_u8(&mut self) -> u8
fn read_isize(&mut self) -> isize
fn read_i128(&mut self) -> i128
fn read_i64(&mut self) -> i64
fn read_i32(&mut self) -> i32
fn read_i16(&mut self) -> i16
fn read_i8(&mut self) -> i8
fn read_raw_bytes(&mut self, len: usize) -> &[u8] ⓘ
fn peek_byte(&self) -> u8
fn position(&self) -> usize
fn read_bool(&mut self) -> bool
fn read_char(&mut self) -> char
fn read_str(&mut self) -> &str
fn read_byte_str(&mut self) -> &[u8] ⓘ
Source§impl<'a, 'tcx> InternerDecoder for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> InternerDecoder for OffloadManifestDecoder<'a, 'tcx>
Source§impl<'a, 'tcx> SpanDecoder for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> SpanDecoder for OffloadManifestDecoder<'a, 'tcx>
fn decode_span(&mut self) -> Span
fn decode_expn_id(&mut self) -> ExpnId
fn decode_syntax_context(&mut self) -> SyntaxContext
fn decode_crate_num(&mut self) -> CrateNum
fn decode_def_id(&mut self) -> DefId
fn decode_attr_id(&mut self) -> AttrId
Source§impl<'a, 'tcx> TyDecoder<'tcx> for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> TyDecoder<'tcx> for OffloadManifestDecoder<'a, 'tcx>
const CLEAR_CROSS_CRATE: bool = true
fn cached_ty_for_shorthand<F>( &mut self, shorthand: usize, or_insert_with: F, ) -> Ty<'tcx>
fn with_position<F, R>(&mut self, pos: usize, f: F) -> Rwhere
F: FnOnce(&mut Self) -> R,
fn decode_alloc_id(&mut self) -> AllocId
fn positioned_at_shorthand(&self) -> bool
Auto Trait Implementations§
impl<'a, 'tcx> !DynSend for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> !DynSync for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> !Freeze for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> !RefUnwindSafe for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> !Send for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> !Sync for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> !UnwindSafe for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> Unpin for OffloadManifestDecoder<'a, 'tcx>
impl<'a, 'tcx> UnsafeUnpin for OffloadManifestDecoder<'a, 'tcx>
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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<K> IntoQueryKey<K> for K
impl<K> IntoQueryKey<K> for K
Source§fn into_query_key(self) -> K
fn into_query_key(self) -> K
Argument conversion from
Self to K.
This should always be a very cheap conversion, e.g. LocalDefId::to_def_id.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> ⓘ
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: 152 bytes