pub struct Normalize<T> {
pub value: T,
}Fields§
§value: TTrait Implementations§
source§impl<'tcx, T> QueryTypeOp<'tcx> for Normalize<T>where
T: Normalizable<'tcx> + 'tcx,
impl<'tcx, T> QueryTypeOp<'tcx> for Normalize<T>where T: Normalizable<'tcx> + 'tcx,
type QueryResponse = T
source§fn try_fast_path(_tcx: TyCtxt<'tcx>, key: &ParamEnvAnd<'tcx, Self>) -> Option<T>
fn try_fast_path(_tcx: TyCtxt<'tcx>, key: &ParamEnvAnd<'tcx, Self>) -> Option<T>
Give query the option for a simple fast path that never
actually hits the tcx cache lookup etc. Return
Some(r) with
a final result or None to do the full path.source§fn perform_query(
tcx: TyCtxt<'tcx>,
canonicalized: Canonical<'tcx, ParamEnvAnd<'tcx, Self>>
) -> Fallible<CanonicalQueryResponse<'tcx, Self::QueryResponse>>
fn perform_query( tcx: TyCtxt<'tcx>, canonicalized: Canonical<'tcx, ParamEnvAnd<'tcx, Self>> ) -> Fallible<CanonicalQueryResponse<'tcx, Self::QueryResponse>>
Performs the actual query with the canonicalized key – the
real work happens here. This method is not given an
infcx
because it shouldn’t need one – and if it had access to one,
it might do things like invoke sub_regions, which would be
bad, because it would create subregion relationships that are
not captured in the return value.fn fully_perform_into( query_key: ParamEnvAnd<'tcx, Self>, infcx: &InferCtxt<'tcx>, output_query_region_constraints: &mut QueryRegionConstraints<'tcx> ) -> Fallible<(Self::QueryResponse, Option<Canonical<'tcx, ParamEnvAnd<'tcx, Self>>>, PredicateObligations<'tcx>, Certainty)>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Normalize<T>where T: RefUnwindSafe,
impl<T> Send for Normalize<T>where T: Send,
impl<T> Sync for Normalize<T>where T: Sync,
impl<T> Unpin for Normalize<T>where T: Unpin,
impl<T> UnwindSafe for Normalize<T>where T: UnwindSafe,
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
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.