[−][src]Trait rustc_trait_selection::traits::query::type_op::TypeOp
"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
pub 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
pub 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
pub 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).