diff options
| author | kennytm <kennytm@gmail.com> | 2018-10-30 18:55:33 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-30 18:55:33 +0800 |
| commit | ed37d80c30ca33ff9fb6ba70584037bcd94bae25 (patch) | |
| tree | 61b51720233301725842512e70363f01fc982f0a | |
| parent | 3176239d344d501895220ef62b63da5dfc66d445 (diff) | |
| parent | bb3e77d28443835d03c0148bfeb84ecad56b986d (diff) | |
| download | rust-ed37d80c30ca33ff9fb6ba70584037bcd94bae25.tar.gz rust-ed37d80c30ca33ff9fb6ba70584037bcd94bae25.zip | |
Rollup merge of #55476 - ljedrz:flat_map_to_filter_map, r=cramertj
Change a flat_map with 0/1-element vecs to a filter_map No need to use vectors in this case - `Option`s are quite sufficient.
| -rw-r--r-- | src/librustc_traits/implied_outlives_bounds.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/librustc_traits/implied_outlives_bounds.rs b/src/librustc_traits/implied_outlives_bounds.rs index ad0a54e392f..cde08f6832a 100644 --- a/src/librustc_traits/implied_outlives_bounds.rs +++ b/src/librustc_traits/implied_outlives_bounds.rs @@ -159,14 +159,14 @@ fn implied_bounds_from_components( ) -> Vec<OutlivesBound<'tcx>> { sup_components .into_iter() - .flat_map(|component| { + .filter_map(|component| { match component { Component::Region(r) => - vec![OutlivesBound::RegionSubRegion(sub_region, r)], + Some(OutlivesBound::RegionSubRegion(sub_region, r)), Component::Param(p) => - vec![OutlivesBound::RegionSubParam(sub_region, p)], + Some(OutlivesBound::RegionSubParam(sub_region, p)), Component::Projection(p) => - vec![OutlivesBound::RegionSubProjection(sub_region, p)], + Some(OutlivesBound::RegionSubProjection(sub_region, p)), Component::EscapingProjection(_) => // If the projection has escaping regions, don't // try to infer any implied bounds even for its @@ -176,9 +176,9 @@ fn implied_bounds_from_components( // idea is that the WAY that the caller proves // that may change in the future and we want to // give ourselves room to get smarter here. - vec![], + None, Component::UnresolvedInferenceVariable(..) => - vec![], + None, } }) .collect() |
