Trait rustc_trait_selection::traits::query::type_op::TypeOp [−][src]
“Type ops” are used in NLL to perform some particular action and extract out the resulting region constraints (or an error if it cannot be completed).
Associated Types
Loading content...Required methods
fn fully_perform(
self,
infcx: &InferCtxt<'_, 'tcx>
) -> Fallible<(Self::Output, Option<Rc<QueryRegionConstraints<'tcx>>>)>[src]
self,
infcx: &InferCtxt<'_, 'tcx>
) -> Fallible<(Self::Output, Option<Rc<QueryRegionConstraints<'tcx>>>)>
Processes the operation and all resulting obligations, returning the final result along with any region constraints (they will be given over to the NLL region solver).
Implementations on Foreign Types
impl<'tcx, Q> TypeOp<'tcx> for ParamEnvAnd<'tcx, Q> where
Q: QueryTypeOp<'tcx>, [src]
Q: QueryTypeOp<'tcx>,
type Output = Q::QueryResponse
fn fully_perform(
self,
infcx: &InferCtxt<'_, 'tcx>
) -> Fallible<(Self::Output, Option<Rc<QueryRegionConstraints<'tcx>>>)>[src]
self,
infcx: &InferCtxt<'_, 'tcx>
) -> Fallible<(Self::Output, Option<Rc<QueryRegionConstraints<'tcx>>>)>
Implementors
impl<'tcx, F, R, G> TypeOp<'tcx> for CustomTypeOp<F, G> where
F: for<'a, 'cx> FnOnce(&'a InferCtxt<'cx, 'tcx>) -> Fallible<InferOk<'tcx, R>>,
G: Fn() -> String, [src]
F: for<'a, 'cx> FnOnce(&'a InferCtxt<'cx, 'tcx>) -> Fallible<InferOk<'tcx, R>>,
G: Fn() -> String,
type Output = R
fn fully_perform(
self,
infcx: &InferCtxt<'_, 'tcx>
) -> Fallible<(Self::Output, Option<Rc<QueryRegionConstraints<'tcx>>>)>[src]
self,
infcx: &InferCtxt<'_, 'tcx>
) -> Fallible<(Self::Output, Option<Rc<QueryRegionConstraints<'tcx>>>)>
Processes the operation and all resulting obligations, returning the final result along with any region constraints (they will be given over to the NLL region solver).