Struct rustc_trait_selection::traits::query::type_op::custom::CustomTypeOp
source · pub struct CustomTypeOp<F> {
closure: F,
description: &'static str,
}
Fields§
§closure: F
§description: &'static str
Implementations§
Trait Implementations§
source§impl<F> Debug for CustomTypeOp<F>
impl<F> Debug for CustomTypeOp<F>
source§impl<'tcx, F, R> TypeOp<'tcx> for CustomTypeOp<F>where
F: FnOnce(&ObligationCtxt<'_, 'tcx>) -> Result<R, NoSolution>,
R: Debug + TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, F, R> TypeOp<'tcx> for CustomTypeOp<F>where
F: FnOnce(&ObligationCtxt<'_, 'tcx>) -> Result<R, NoSolution>,
R: Debug + TypeFoldable<TyCtxt<'tcx>>,
§type ErrorInfo = !
type ErrorInfo = !
We can’t do any custom error reporting for CustomTypeOp
, so
we can use !
to enforce that the implementation never provides it.
source§fn fully_perform(
self,
infcx: &InferCtxt<'tcx>,
span: Span
) -> Result<TypeOpOutput<'tcx, Self>, ErrorGuaranteed>
fn fully_perform( self, infcx: &InferCtxt<'tcx>, span: Span ) -> Result<TypeOpOutput<'tcx, Self>, ErrorGuaranteed>
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).
type Output = R
Auto Trait Implementations§
impl<F> RefUnwindSafe for CustomTypeOp<F>where
F: RefUnwindSafe,
impl<F> Send for CustomTypeOp<F>where
F: Send,
impl<F> Sync for CustomTypeOp<F>where
F: Sync,
impl<F> Unpin for CustomTypeOp<F>where
F: Unpin,
impl<F> UnwindSafe for CustomTypeOp<F>where
F: 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.