diff options
| author | jackh726 <jack.huey@umassmed.edu> | 2021-10-12 11:14:31 -0400 |
|---|---|---|
| committer | jackh726 <jack.huey@umassmed.edu> | 2021-10-12 11:14:31 -0400 |
| commit | 9855e7dc7bdafaafde22d9642eaea43638cf0a8a (patch) | |
| tree | 35378e6dd6c5d5b2959b65fcbc500c9d2d306ec1 | |
| parent | 1067e2ca5e9cfe5c79f956e49ffc684c5142d49b (diff) | |
| download | rust-9855e7dc7bdafaafde22d9642eaea43638cf0a8a.tar.gz rust-9855e7dc7bdafaafde22d9642eaea43638cf0a8a.zip | |
Switch order of terms to prevent overflow
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/project.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/project.rs b/compiler/rustc_trait_selection/src/traits/project.rs index 47b006985ec..db8a6d96204 100644 --- a/compiler/rustc_trait_selection/src/traits/project.rs +++ b/compiler/rustc_trait_selection/src/traits/project.rs @@ -558,7 +558,7 @@ impl<'me, 'tcx> BoundVarReplacer<'me, 'tcx> { fn universe_for(&mut self, debruijn: ty::DebruijnIndex) -> ty::UniverseIndex { let infcx = self.infcx; let index = - self.universe_indices.len() - debruijn.as_usize() + self.current_index.as_usize() - 1; + self.universe_indices.len() + self.current_index.as_usize() - debruijn.as_usize() - 1; let universe = self.universe_indices[index].unwrap_or_else(|| { for i in self.universe_indices.iter_mut().take(index + 1) { *i = i.or_else(|| Some(infcx.create_next_universe())) |
