pub enum RegionResolutionError<'tcx> {
ConcreteFailure(SubregionOrigin<'tcx>, Region, Region),
GenericBoundFailure(SubregionOrigin<'tcx>, GenericKind<'tcx>, Region, Vec<Region>),
SubSupConflict(RegionVariableOrigin, SubregionOrigin<'tcx>, Region, SubregionOrigin<'tcx>, Region),
SupSupConflict(RegionVariableOrigin, SubregionOrigin<'tcx>, Region, SubregionOrigin<'tcx>, Region),
ProcessedErrors(Vec<RegionVariableOrigin>, Vec<(TypeTrace<'tcx>, type_err<'tcx>)>, Vec<SameRegions>),
}
Variants
ConcreteFailure | ConcreteFailure(o, a, b) :
o requires that a <= b , but this does not hold
|
GenericBoundFailure | `GenericBoundFailure(p, s, a, bs)
The parameter/associated-type p must be known to outlive the lifetime
a , but it is only known to outlive bs (and none of the
regions in bs outlive a ).
|
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