Struct rustc_middle::ty::context::CommonTypes
source · pub struct CommonTypes<'tcx> {Show 25 fields
pub unit: Ty<'tcx>,
pub bool: Ty<'tcx>,
pub char: Ty<'tcx>,
pub isize: Ty<'tcx>,
pub i8: Ty<'tcx>,
pub i16: Ty<'tcx>,
pub i32: Ty<'tcx>,
pub i64: Ty<'tcx>,
pub i128: Ty<'tcx>,
pub usize: Ty<'tcx>,
pub u8: Ty<'tcx>,
pub u16: Ty<'tcx>,
pub u32: Ty<'tcx>,
pub u64: Ty<'tcx>,
pub u128: Ty<'tcx>,
pub f32: Ty<'tcx>,
pub f64: Ty<'tcx>,
pub str_: Ty<'tcx>,
pub never: Ty<'tcx>,
pub self_param: Ty<'tcx>,
pub trait_object_dummy_self: Ty<'tcx>,
pub ty_vars: Vec<Ty<'tcx>>,
pub fresh_tys: Vec<Ty<'tcx>>,
pub fresh_int_tys: Vec<Ty<'tcx>>,
pub fresh_float_tys: Vec<Ty<'tcx>>,
}
Fields§
§unit: Ty<'tcx>
§bool: Ty<'tcx>
§char: Ty<'tcx>
§isize: Ty<'tcx>
§i8: Ty<'tcx>
§i16: Ty<'tcx>
§i32: Ty<'tcx>
§i64: Ty<'tcx>
§i128: Ty<'tcx>
§usize: Ty<'tcx>
§u8: Ty<'tcx>
§u16: Ty<'tcx>
§u32: Ty<'tcx>
§u64: Ty<'tcx>
§u128: Ty<'tcx>
§f32: Ty<'tcx>
§f64: Ty<'tcx>
§str_: Ty<'tcx>
§never: Ty<'tcx>
§self_param: Ty<'tcx>
§trait_object_dummy_self: Ty<'tcx>
Dummy type used for the Self
of a TraitRef
created for converting
a trait object, and which gets removed in ExistentialTraitRef
.
This type must not appear anywhere in other converted types.
Infer(ty::FreshTy(0))
does the job.
ty_vars: Vec<Ty<'tcx>>
Pre-interned Infer(ty::TyVar(n))
for small values of n
.
fresh_tys: Vec<Ty<'tcx>>
Pre-interned Infer(ty::FreshTy(n))
for small values of n
.
fresh_int_tys: Vec<Ty<'tcx>>
Pre-interned Infer(ty::FreshIntTy(n))
for small values of n
.
fresh_float_tys: Vec<Ty<'tcx>>
Pre-interned Infer(ty::FreshFloatTy(n))
for small values of n
.
Implementations§
source§impl<'tcx> CommonTypes<'tcx>
impl<'tcx> CommonTypes<'tcx>
fn new( interners: &CtxtInterners<'tcx>, sess: &Session, untracked: &Untracked ) -> CommonTypes<'tcx>
Auto Trait Implementations§
impl<'tcx> !RefUnwindSafe for CommonTypes<'tcx>
impl<'tcx> Send for CommonTypes<'tcx>
impl<'tcx> Sync for CommonTypes<'tcx>
impl<'tcx> Unpin for CommonTypes<'tcx>
impl<'tcx> !UnwindSafe for CommonTypes<'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
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> 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: &[QueryInfo], _guar: ErrorGuaranteed ) -> 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: 264 bytes