[−][src]Struct rustc_middle::ty::query::on_disk_cache::CacheDecoder
A decoder that can read from the incr. comp. cache. It is similar to the one
we use for crate metadata decoding in that it can rebase spans and eventually
will also handle things that contain Ty instances.
Fields
tcx: TyCtxt<'tcx>opaque: Decoder<'a>source_map: &'a SourceMapcnum_map: &'a IndexVec<CrateNum, Option<CrateNum>>file_index_to_file: &'a Lock<FxHashMap<SourceFileIndex, Lrc<SourceFile>>>file_index_to_stable_id: &'a FxHashMap<SourceFileIndex, StableSourceFileId>alloc_decoding_session: AllocDecodingSession<'a>syntax_contexts: &'a FxHashMap<u32, AbsoluteBytePos>expn_data: &'a FxHashMap<u32, AbsoluteBytePos>hygiene_context: &'a HygieneDecodeContextImplementations
impl<'a, 'tcx> CacheDecoder<'a, 'tcx>[src]
fn file_index_to_file(&self, index: SourceFileIndex) -> Lrc<SourceFile>[src]
Trait Implementations
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for SyntaxContext[src]
fn decode(decoder: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for ExpnId[src]
fn decode(decoder: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for &'tcx [InlineAsmTemplatePiece][src]
fn decode(d: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for &'tcx [Span][src]
fn decode(d: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for Span[src]
fn decode(decoder: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for CrateNum[src]
fn decode(d: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for DefIndex[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for DefId[src]
fn decode(d: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for &'tcx FxHashSet<LocalDefId>[src]
fn decode(d: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for &'tcx IndexVec<Promoted, Body<'tcx>>[src]
fn decode(d: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for &'tcx [Node<'tcx>][src]
fn decode(d: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decodable<CacheDecoder<'a, 'tcx>> for &'tcx [(Predicate<'tcx>, Span)][src]
fn decode(d: &mut CacheDecoder<'a, 'tcx>) -> Result<Self, String>[src]
impl<'a, 'tcx> Decoder for CacheDecoder<'a, 'tcx>[src]
type Error = String
fn read_nil(&mut self) -> Result<(), Self::Error>[src]
fn read_u128(&mut self) -> Result<u128, Self::Error>[src]
fn read_u64(&mut self) -> Result<u64, Self::Error>[src]
fn read_u32(&mut self) -> Result<u32, Self::Error>[src]
fn read_u16(&mut self) -> Result<u16, Self::Error>[src]
fn read_u8(&mut self) -> Result<u8, Self::Error>[src]
fn read_usize(&mut self) -> Result<usize, Self::Error>[src]
fn read_i128(&mut self) -> Result<i128, Self::Error>[src]
fn read_i64(&mut self) -> Result<i64, Self::Error>[src]
fn read_i32(&mut self) -> Result<i32, Self::Error>[src]
fn read_i16(&mut self) -> Result<i16, Self::Error>[src]
fn read_i8(&mut self) -> Result<i8, Self::Error>[src]
fn read_isize(&mut self) -> Result<isize, Self::Error>[src]
fn read_bool(&mut self) -> Result<bool, Self::Error>[src]
fn read_f64(&mut self) -> Result<f64, Self::Error>[src]
fn read_f32(&mut self) -> Result<f32, Self::Error>[src]
fn read_char(&mut self) -> Result<char, Self::Error>[src]
fn read_str(&mut self) -> Result<Cow<'_, str>, Self::Error>[src]
fn error(&mut self, err: &str) -> Self::Error[src]
fn read_enum<T, F>(&mut self, _name: &str, f: F) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_enum_variant<T, F>(
&mut self,
_names: &[&str],
f: F
) -> Result<T, Self::Error> where
F: FnMut(&mut Self, usize) -> Result<T, Self::Error>, [src]
&mut self,
_names: &[&str],
f: F
) -> Result<T, Self::Error> where
F: FnMut(&mut Self, usize) -> Result<T, Self::Error>,
fn read_enum_variant_arg<T, F>(
&mut self,
_a_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
&mut self,
_a_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_enum_struct_variant<T, F>(
&mut self,
names: &[&str],
f: F
) -> Result<T, Self::Error> where
F: FnMut(&mut Self, usize) -> Result<T, Self::Error>, [src]
&mut self,
names: &[&str],
f: F
) -> Result<T, Self::Error> where
F: FnMut(&mut Self, usize) -> Result<T, Self::Error>,
fn read_enum_struct_variant_field<T, F>(
&mut self,
_f_name: &str,
f_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
&mut self,
_f_name: &str,
f_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_struct<T, F>(
&mut self,
_s_name: &str,
_len: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
&mut self,
_s_name: &str,
_len: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_struct_field<T, F>(
&mut self,
_f_name: &str,
_f_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
&mut self,
_f_name: &str,
_f_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_tuple<T, F>(&mut self, _len: usize, f: F) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_tuple_arg<T, F>(
&mut self,
_a_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
&mut self,
_a_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_tuple_struct<T, F>(
&mut self,
_s_name: &str,
len: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
&mut self,
_s_name: &str,
len: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_tuple_struct_arg<T, F>(
&mut self,
a_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
&mut self,
a_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_option<T, F>(&mut self, f: F) -> Result<T, Self::Error> where
F: FnMut(&mut Self, bool) -> Result<T, Self::Error>, [src]
F: FnMut(&mut Self, bool) -> Result<T, Self::Error>,
fn read_seq<T, F>(&mut self, f: F) -> Result<T, Self::Error> where
F: FnOnce(&mut Self, usize) -> Result<T, Self::Error>, [src]
F: FnOnce(&mut Self, usize) -> Result<T, Self::Error>,
fn read_seq_elt<T, F>(&mut self, _idx: usize, f: F) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_map<T, F>(&mut self, f: F) -> Result<T, Self::Error> where
F: FnOnce(&mut Self, usize) -> Result<T, Self::Error>, [src]
F: FnOnce(&mut Self, usize) -> Result<T, Self::Error>,
fn read_map_elt_key<T, F>(
&mut self,
_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
&mut self,
_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
fn read_map_elt_val<T, F>(
&mut self,
_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>, [src]
&mut self,
_idx: usize,
f: F
) -> Result<T, Self::Error> where
F: FnOnce(&mut Self) -> Result<T, Self::Error>,
impl<'a, 'tcx> DecoderWithPosition for CacheDecoder<'a, 'tcx>[src]
impl<'a, 'tcx> FingerprintDecoder for CacheDecoder<'a, 'tcx>[src]
fn decode_fingerprint(&mut self) -> Result<Fingerprint, Self::Error>[src]
impl<'a, 'tcx> TyDecoder<'tcx> for CacheDecoder<'a, 'tcx>[src]
const CLEAR_CROSS_CRATE: bool[src]
fn tcx(&self) -> TyCtxt<'tcx>[src]
fn position(&self) -> usize[src]
fn peek_byte(&self) -> u8[src]
fn cached_ty_for_shorthand<F>(
&mut self,
shorthand: usize,
or_insert_with: F
) -> Result<Ty<'tcx>, Self::Error> where
F: FnOnce(&mut Self) -> Result<Ty<'tcx>, Self::Error>, [src]
&mut self,
shorthand: usize,
or_insert_with: F
) -> Result<Ty<'tcx>, Self::Error> where
F: FnOnce(&mut Self) -> Result<Ty<'tcx>, Self::Error>,
fn with_position<F, R>(&mut self, pos: usize, f: F) -> R where
F: FnOnce(&mut Self) -> R, [src]
F: FnOnce(&mut Self) -> R,
fn map_encoded_cnum_to_current(&self, cnum: CrateNum) -> CrateNum[src]
fn decode_alloc_id(&mut self) -> Result<AllocId, Self::Error>[src]
fn positioned_at_shorthand(&self) -> bool[src]
Auto Trait Implementations
impl<'a, 'tcx> !RefUnwindSafe for CacheDecoder<'a, 'tcx>
impl<'a, 'tcx> !Send for CacheDecoder<'a, 'tcx>
impl<'a, 'tcx> !Sync for CacheDecoder<'a, 'tcx>
impl<'a, 'tcx> Unpin for CacheDecoder<'a, 'tcx>
impl<'a, 'tcx> !UnwindSafe for CacheDecoder<'a, 'tcx>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,
impl<D> FingerprintDecoder for D where
D: Decoder, [src]
D: Decoder,
pub default fn decode_fingerprint(
&mut self
) -> Result<Fingerprint, <D as Decoder>::Error>[src]
&mut self
) -> Result<Fingerprint, <D as Decoder>::Error>
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> MaybeResult<T> for T[src]
type Error = !
pub fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T[src]
pub fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.