|
1 | 1 | //! Logic for lowering higher-kinded outlives constraints
|
2 | 2 | //! (with placeholders and universes) and turn them into regular
|
3 | 3 | //! outlives constraints.
|
4 |
| -use core::cmp; |
5 |
| - |
6 | 4 | use rustc_data_structures::frozen::Frozen;
|
7 | 5 | use rustc_data_structures::fx::FxIndexMap;
|
8 | 6 | use rustc_data_structures::graph::scc;
|
@@ -96,9 +94,9 @@ impl PlaceholderReachability {
|
96 | 94 | },
|
97 | 95 | Placeholders { min_placeholder, max_placeholder, max_universe },
|
98 | 96 | ) => Placeholders {
|
99 |
| - min_placeholder: cmp::min(min_pl, min_placeholder), |
100 |
| - max_placeholder: cmp::max(max_pl, max_placeholder), |
101 |
| - max_universe: cmp::max(max_u, max_universe), |
| 97 | + min_placeholder: min_pl.min(min_placeholder), |
| 98 | + max_placeholder: max_pl.max(max_placeholder), |
| 99 | + max_universe: max_u.max(max_universe), |
102 | 100 | },
|
103 | 101 | }
|
104 | 102 | }
|
@@ -190,17 +188,15 @@ impl scc::Annotation for RegionTracker {
|
190 | 188 | trace!("{:?} << {:?}", self.representative, other.representative);
|
191 | 189 |
|
192 | 190 | Self {
|
193 |
| - representative: self.representative.merge_scc(other.representative), |
194 |
| - ..self.merge_reached(other) |
| 191 | + representative: self.representative.min(other.representative), |
| 192 | + max_nameable_universe: self.max_nameable_universe.min(other.max_nameable_universe), |
| 193 | + reachable_placeholders: self.reachable_placeholders.merge(other.reachable_placeholders), |
195 | 194 | }
|
196 | 195 | }
|
197 | 196 |
|
198 | 197 | fn merge_reached(self, other: Self) -> Self {
|
199 | 198 | Self {
|
200 |
| - max_nameable_universe: cmp::min( |
201 |
| - self.max_nameable_universe, |
202 |
| - other.max_nameable_universe, |
203 |
| - ), |
| 199 | + max_nameable_universe: self.max_nameable_universe.min(other.max_nameable_universe), |
204 | 200 | reachable_placeholders: self.reachable_placeholders.merge(other.reachable_placeholders),
|
205 | 201 | representative: self.representative,
|
206 | 202 | }
|
|
0 commit comments