Struct rustc_traits::chalk::db::ReplaceOpaqueTyFolder
source · struct ReplaceOpaqueTyFolder<'tcx> {
tcx: TyCtxt<'tcx>,
opaque_ty_id: OpaqueTyId<RustInterner<'tcx>>,
identity_substs: SubstsRef<'tcx>,
binder_index: DebruijnIndex,
}
Fields
tcx: TyCtxt<'tcx>
opaque_ty_id: OpaqueTyId<RustInterner<'tcx>>
identity_substs: SubstsRef<'tcx>
binder_index: DebruijnIndex
Trait Implementations
sourceimpl<'tcx> TypeFolder<'tcx> for ReplaceOpaqueTyFolder<'tcx>
impl<'tcx> TypeFolder<'tcx> for ReplaceOpaqueTyFolder<'tcx>
fn tcx<'b>(&'b self) -> TyCtxt<'tcx>
fn fold_binder<T: TypeFoldable<'tcx>>(
&mut self,
t: Binder<'tcx, T>
) -> Binder<'tcx, T>
fn fold_ty(&mut self, ty: Ty<'tcx>) -> Ty<'tcx>
fn fold_region(&mut self, r: Region<'tcx>) -> Region<'tcx>
fn fold_const(&mut self, c: Const<'tcx>) -> Const<'tcx>
fn fold_unevaluated(
&mut self,
uv: Unevaluated<'tcx, Option<Promoted>>
) -> Unevaluated<'tcx, Option<Promoted>>
fn fold_predicate(&mut self, p: Predicate<'tcx>) -> Predicate<'tcx>
fn fold_mir_const(&mut self, c: ConstantKind<'tcx>) -> ConstantKind<'tcx>
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for ReplaceOpaqueTyFolder<'tcx>
impl<'tcx> !Send for ReplaceOpaqueTyFolder<'tcx>
impl<'tcx> !Sync for ReplaceOpaqueTyFolder<'tcx>
impl<'tcx> Unpin for ReplaceOpaqueTyFolder<'tcx>
impl<'tcx> !UnwindSafe for ReplaceOpaqueTyFolder<'tcx>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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: 32 bytes