pub type SelectionResult<'tcx, T> = Result<Option<T>, SelectionError<'tcx>>;
Expand description

When performing resolution, it is typically the case that there can be one of three outcomes:

  • Ok(Some(r)): success occurred with result r
  • Ok(None): could not definitely determine anything, usually due to inconclusive type inference.
  • Err(e): error e occurred

Aliased Type§

enum SelectionResult<'tcx, T> {
    Ok(Option<T>),
    Err(SelectionError<'tcx>),
}

Variants§

§1.0.0

Ok(Option<T>)

Contains the success value

§1.0.0

Err(SelectionError<'tcx>)

Contains the error value

Trait Implementations§

source§

impl<'tcx, T: Lift<'tcx>, E: Lift<'tcx>> Lift<'tcx> for Result<T, E>

§

type Lifted = Result<<T as Lift<'tcx>>::Lifted, <E as Lift<'tcx>>::Lifted>

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

source§

impl<T, E> MaybeResult<T> for Result<T, E>

§

type Error = E

source§

fn from(x: Result<T, Self::Error>) -> Self

source§

fn to_result(self) -> Result<T, Self::Error>

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.