Struct rustc::infer::resolve::OpportunisticTypeAndRegionResolver
[−]
[src]
pub struct OpportunisticTypeAndRegionResolver<'a, 'gcx: 'a + 'tcx, 'tcx: 'a> { /* fields omitted */ }
🔬 This is a nightly-only experimental API. (
rustc_private
)The opportunistic type and region resolver is similar to the opportunistic type resolver, but also opportunistly resolves regions. It is useful for canonicalization.
Methods
impl<'a, 'gcx, 'tcx> OpportunisticTypeAndRegionResolver<'a, 'gcx, 'tcx>
[src]
fn new(infcx: &'a InferCtxt<'a, 'gcx, 'tcx>) -> Self
🔬 This is a nightly-only experimental API. (
rustc_private
)Trait Implementations
impl<'a, 'gcx, 'tcx> TypeFolder<'gcx, 'tcx> for OpportunisticTypeAndRegionResolver<'a, 'gcx, 'tcx>
[src]
fn tcx<'b>(&'b self) -> TyCtxt<'b, 'gcx, 'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_ty(&mut self, t: Ty<'tcx>) -> Ty<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_region(&mut self, r: &'tcx Region) -> &'tcx Region
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_binder<T>(&mut self, t: &Binder<T>) -> Binder<T> where T: TypeFoldable<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_mt(&mut self, t: &TypeAndMut<'tcx>) -> TypeAndMut<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_impl_header(&mut self, imp: &ImplHeader<'tcx>) -> ImplHeader<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_substs(&mut self, substs: &'tcx Substs<'tcx>) -> &'tcx Substs<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_fn_sig(&mut self, sig: &FnSig<'tcx>) -> FnSig<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_autoref(&mut self, ar: &AutoBorrow<'tcx>) -> AutoBorrow<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)