[−][src]Struct rustc_middle::ty::query::on_disk_cache::CacheEncoder
An encoder that can write the incr. comp. cache.
Fields
tcx: TyCtxt<'tcx>encoder: &'a mut Etype_shorthands: FxHashMap<Ty<'tcx>, usize>predicate_shorthands: FxHashMap<Predicate<'tcx>, usize>interpret_allocs: FxIndexSet<AllocId>source_map: CachingSourceMapView<'tcx>file_to_file_index: FxHashMap<*const SourceFile, SourceFileIndex>hygiene_context: &'a HygieneEncodeContextImplementations
impl<'a, 'tcx, E> CacheEncoder<'a, 'tcx, E> where
E: 'a + OpaqueEncoder, [src]
E: 'a + OpaqueEncoder,
fn source_file_index(&mut self, source_file: Lrc<SourceFile>) -> SourceFileIndex[src]
fn encode_tagged<T: Encodable<Self>, V: Encodable<Self>>(
&mut self,
tag: T,
value: &V
) -> Result<(), E::Error>[src]
&mut self,
tag: T,
value: &V
) -> Result<(), E::Error>
Encode something with additional information that allows to do some sanity checks when decoding the data again. This method will first encode the specified tag, then the given value, then the number of bytes taken up by tag and value. On decoding, we can then verify that we get the expected tag and read the expected number of bytes.
Trait Implementations
impl<'a, 'tcx, E> Encodable<CacheEncoder<'a, 'tcx, E>> for SyntaxContext where
E: 'a + OpaqueEncoder, [src]
E: 'a + OpaqueEncoder,
impl<'a, 'tcx, E> Encodable<CacheEncoder<'a, 'tcx, E>> for ExpnId where
E: 'a + OpaqueEncoder, [src]
E: 'a + OpaqueEncoder,
impl<'a, 'tcx, E> Encodable<CacheEncoder<'a, 'tcx, E>> for Span where
E: 'a + OpaqueEncoder, [src]
E: 'a + OpaqueEncoder,
impl<'a, 'tcx, E> Encodable<CacheEncoder<'a, 'tcx, E>> for DefId where
E: 'a + OpaqueEncoder, [src]
E: 'a + OpaqueEncoder,
impl<'a, 'tcx, E> Encodable<CacheEncoder<'a, 'tcx, E>> for DefIndex where
E: 'a + OpaqueEncoder, [src]
E: 'a + OpaqueEncoder,
impl<'a, 'tcx, E> Encoder for CacheEncoder<'a, 'tcx, E> where
E: 'a + OpaqueEncoder, [src]
E: 'a + OpaqueEncoder,
type Error = E::Error
fn emit_unit(&mut self) -> Result<(), Self::Error>[src]
fn emit_usize(&mut self, value: usize) -> Result<(), Self::Error>[src]
fn emit_u128(&mut self, value: u128) -> Result<(), Self::Error>[src]
fn emit_u64(&mut self, value: u64) -> Result<(), Self::Error>[src]
fn emit_u32(&mut self, value: u32) -> Result<(), Self::Error>[src]
fn emit_u16(&mut self, value: u16) -> Result<(), Self::Error>[src]
fn emit_u8(&mut self, value: u8) -> Result<(), Self::Error>[src]
fn emit_isize(&mut self, value: isize) -> Result<(), Self::Error>[src]
fn emit_i128(&mut self, value: i128) -> Result<(), Self::Error>[src]
fn emit_i64(&mut self, value: i64) -> Result<(), Self::Error>[src]
fn emit_i32(&mut self, value: i32) -> Result<(), Self::Error>[src]
fn emit_i16(&mut self, value: i16) -> Result<(), Self::Error>[src]
fn emit_i8(&mut self, value: i8) -> Result<(), Self::Error>[src]
fn emit_bool(&mut self, value: bool) -> Result<(), Self::Error>[src]
fn emit_f64(&mut self, value: f64) -> Result<(), Self::Error>[src]
fn emit_f32(&mut self, value: f32) -> Result<(), Self::Error>[src]
fn emit_char(&mut self, value: char) -> Result<(), Self::Error>[src]
fn emit_str(&mut self, value: &str) -> Result<(), Self::Error>[src]
fn emit_enum<F>(&mut self, _name: &str, f: F) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_enum_variant<F>(
&mut self,
_v_name: &str,
v_id: usize,
_len: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
&mut self,
_v_name: &str,
v_id: usize,
_len: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_enum_variant_arg<F>(
&mut self,
_a_idx: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
&mut self,
_a_idx: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_enum_struct_variant<F>(
&mut self,
v_name: &str,
v_id: usize,
len: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
&mut self,
v_name: &str,
v_id: usize,
len: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_enum_struct_variant_field<F>(
&mut self,
_f_name: &str,
f_idx: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
&mut self,
_f_name: &str,
f_idx: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_struct<F>(
&mut self,
_name: &str,
_len: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
&mut self,
_name: &str,
_len: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_struct_field<F>(
&mut self,
_f_name: &str,
_f_idx: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
&mut self,
_f_name: &str,
_f_idx: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_tuple<F>(&mut self, _len: usize, f: F) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_tuple_arg<F>(&mut self, _idx: usize, f: F) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_tuple_struct<F>(
&mut self,
_name: &str,
len: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
&mut self,
_name: &str,
len: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_tuple_struct_arg<F>(
&mut self,
f_idx: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
&mut self,
f_idx: usize,
f: F
) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_option<F>(&mut self, f: F) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_option_none(&mut self) -> Result<(), Self::Error>[src]
fn emit_option_some<F>(&mut self, f: F) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_seq<F>(&mut self, len: usize, f: F) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_seq_elt<F>(&mut self, _idx: usize, f: F) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_map<F>(&mut self, len: usize, f: F) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_map_elt_key<F>(&mut self, _idx: usize, f: F) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
fn emit_map_elt_val<F>(&mut self, _idx: usize, f: F) -> Result<(), Self::Error> where
F: FnOnce(&mut Self) -> Result<(), Self::Error>, [src]
F: FnOnce(&mut Self) -> Result<(), Self::Error>,
impl<'a, 'tcx> FingerprintEncoder for CacheEncoder<'a, 'tcx, Encoder>[src]
fn encode_fingerprint(&mut self, f: &Fingerprint) -> EncodeResult[src]
impl<'a, 'tcx, E> TyEncoder<'tcx> for CacheEncoder<'a, 'tcx, E> where
E: 'a + OpaqueEncoder, [src]
E: 'a + OpaqueEncoder,
const CLEAR_CROSS_CRATE: bool[src]
fn tcx(&self) -> TyCtxt<'tcx>[src]
fn position(&self) -> usize[src]
fn type_shorthands(&mut self) -> &mut FxHashMap<Ty<'tcx>, usize>[src]
fn predicate_shorthands(&mut self) -> &mut FxHashMap<Predicate<'tcx>, usize>[src]
fn encode_alloc_id(&mut self, alloc_id: &AllocId) -> Result<(), Self::Error>[src]
Auto Trait Implementations
impl<'a, 'tcx, E> !RefUnwindSafe for CacheEncoder<'a, 'tcx, E>
impl<'a, 'tcx, E> !Send for CacheEncoder<'a, 'tcx, E>
impl<'a, 'tcx, E> !Sync for CacheEncoder<'a, 'tcx, E>
impl<'a, 'tcx, E> Unpin for CacheEncoder<'a, 'tcx, E>
impl<'a, 'tcx, E> !UnwindSafe for CacheEncoder<'a, 'tcx, E>
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<E> FingerprintEncoder for E where
E: Encoder, [src]
E: Encoder,
pub default fn encode_fingerprint(
&mut self,
&Fingerprint
) -> Result<(), <E as Encoder>::Error>[src]
&mut self,
&Fingerprint
) -> Result<(), <E as Encoder>::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.