1
Fork 0

even more unify Projection/Opaque in outlives code

This commit is contained in:
Ali MJ Al-Nasrawy 2023-01-15 19:38:31 +03:00
parent 65d2f2a5f9
commit a7a842027c
12 changed files with 90 additions and 151 deletions

View file

@ -154,10 +154,8 @@ fn implied_bounds_from_components<'tcx>(
match component {
Component::Region(r) => Some(OutlivesBound::RegionSubRegion(sub_region, r)),
Component::Param(p) => Some(OutlivesBound::RegionSubParam(sub_region, p)),
Component::Alias(kind, p) => {
Some(OutlivesBound::RegionSubAlias(sub_region, kind, p))
}
Component::EscapingProjection(_) =>
Component::Alias(p) => Some(OutlivesBound::RegionSubAlias(sub_region, p)),
Component::EscapingAlias(_) =>
// If the projection has escaping regions, don't
// try to infer any implied bounds even for its
// free components. This is conservative, because