Struct rustc_trait_selection::traits::query::type_op::normalize::Normalize [−][src]
pub struct Normalize<T> {
pub value: T,
}Fields
value: TTrait Implementations
impl<'tcx, T> QueryTypeOp<'tcx> for Normalize<T> where
T: Normalizable<'tcx> + 'tcx, [src]
impl<'tcx, T> QueryTypeOp<'tcx> for Normalize<T> where
T: Normalizable<'tcx> + 'tcx, [src]type QueryResponse = T
fn try_fast_path(_tcx: TyCtxt<'tcx>, key: &ParamEnvAnd<'tcx, Self>) -> Option<T>[src]
fn try_fast_path(_tcx: TyCtxt<'tcx>, key: &ParamEnvAnd<'tcx, Self>) -> Option<T>[src]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. Read more
fn perform_query(
tcx: TyCtxt<'tcx>,
canonicalized: Canonicalized<'tcx, ParamEnvAnd<'tcx, Self>>
) -> Fallible<CanonicalizedQueryResponse<'tcx, Self::QueryResponse>>[src]
fn perform_query(
tcx: TyCtxt<'tcx>,
canonicalized: Canonicalized<'tcx, ParamEnvAnd<'tcx, Self>>
) -> Fallible<CanonicalizedQueryResponse<'tcx, Self::QueryResponse>>[src]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. Read more
fn fully_perform_into(
query_key: ParamEnvAnd<'tcx, Self>,
infcx: &InferCtxt<'_, 'tcx>,
output_query_region_constraints: &mut QueryRegionConstraints<'tcx>
) -> Fallible<Self::QueryResponse>[src]
query_key: ParamEnvAnd<'tcx, Self>,
infcx: &InferCtxt<'_, 'tcx>,
output_query_region_constraints: &mut QueryRegionConstraints<'tcx>
) -> Fallible<Self::QueryResponse>
Auto Trait Implementations
impl<T> RefUnwindSafe for Normalize<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Normalize<T> where
T: Send,
T: Send,
impl<T> Sync for Normalize<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Normalize<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Normalize<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]pub fn allocate_on(self, arena: &'a Arena<'tcx>) -> &'a mut T[src]
pub fn allocate_from_iter(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = T>
) -> &'a mut [T][src]
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = T>
) -> &'a mut [T]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<'tcx, T> Subst<'tcx> for T where
T: TypeFoldable<'tcx>, [src]
impl<'tcx, T> Subst<'tcx> for T where
T: TypeFoldable<'tcx>, [src]pub fn subst_spanned(
self,
tcx: TyCtxt<'tcx>,
substs: &[GenericArg<'tcx>],
span: Option<Span>
) -> T[src]
self,
tcx: TyCtxt<'tcx>,
substs: &[GenericArg<'tcx>],
span: Option<Span>
) -> T
fn subst(self, tcx: TyCtxt<'tcx>, substs: &[GenericArg<'tcx>]) -> Self[src]
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]