[−][src]Enum rustc_trait_selection::traits::query::OutlivesBound

pub enum OutlivesBound<'tcx> {
    RegionSubRegion(&'tcx RegionKind, &'tcx RegionKind),
    RegionSubParam(&'tcx RegionKind, ParamTy),
    RegionSubProjection(&'tcx RegionKind, ProjectionTy<'tcx>),
}

Outlives bounds are relationships between generic parameters, whether they both be regions ('a: 'b) or whether types are involved (T: 'a). These relationships can be extracted from the full set of predicates we understand or also from types (in which case they are called implied bounds). They are fed to the OutlivesEnv which in turn is supplied to the region checker and other parts of the inference system.

Variants

RegionSubRegion(&'tcx RegionKind, &'tcx RegionKind)
RegionSubParam(&'tcx RegionKind, ParamTy)
RegionSubProjection(&'tcx RegionKind, ProjectionTy<'tcx>)

Auto Trait Implementations

impl<'tcx> !RefUnwindSafe for OutlivesBound<'tcx>

impl<'tcx> !Send for OutlivesBound<'tcx>

impl<'tcx> !Sync for OutlivesBound<'tcx>

impl<'tcx> Unpin for OutlivesBound<'tcx>

impl<'tcx> !UnwindSafe for OutlivesBound<'tcx>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<'tcx, T> Subst<'tcx> for T where
    T: TypeFoldable<'tcx>, 
[src]

impl<T> ToOwned for T where
    T: Clone, 
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]