Enum rustc::middle::typeck::infer::region_inference::RegionResolutionError[src]

pub enum RegionResolutionError {
    ConcreteFailure(SubregionOrigin, Region, Region),
    SubSupConflict(RegionVariableOrigin, SubregionOrigin, Region, SubregionOrigin, Region),
    SupSupConflict(RegionVariableOrigin, SubregionOrigin, Region, SubregionOrigin, Region),
    ProcessedErrors(Vec<RegionVariableOrigin>, Vec<(TypeTrace, type_err)>, Vec<SameRegions>),
}

Variants

ConcreteFailure

ConcreteFailure(o, a, b):

o requires that a <= b, but this does not hold

SubSupConflict

SubSupConflict(v, sub_origin, sub_r, sup_origin, sup_r):

Could not infer a value for v because sub_r <= v (due to sub_origin) but v <= sup_r (due to sup_origin) and sub_r <= sup_r does not hold.

SupSupConflict

SupSupConflict(v, origin1, r1, origin2, r2):

Could not infer a value for v because v <= r1 (due to origin1) and v <= r2 (due to origin2) and r1 and r2 have no intersection.

ProcessedErrors

For subsets of ConcreteFailure and SubSupConflict, we can derive more specific errors message by suggesting to the user where they should put a lifetime. In those cases we process and put those errors into ProcessedErrors before we do any reporting.

Trait Implementations

Derived Implementations

impl Clone for RegionResolutionError

fn clone(&self) -> RegionResolutionError

fn clone_from(&mut self, source: &Self)