diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2022-02-01 15:09:06 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2022-02-02 15:40:12 +0000 |
| commit | 7a1ccf9a03cc0be995a7d8c8f3873c09e7d92f90 (patch) | |
| tree | cf3f57fc6c5aa06c2ce396c80ed7ca1293ced253 /compiler | |
| parent | ebf2772c5892ec921d464bd56864266d0e7e9972 (diff) | |
| download | rust-7a1ccf9a03cc0be995a7d8c8f3873c09e7d92f90.tar.gz rust-7a1ccf9a03cc0be995a7d8c8f3873c09e7d92f90.zip | |
Avoid an ICE in the presence of HKL
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_borrowck/src/region_infer/opaque_types.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/rustc_borrowck/src/region_infer/opaque_types.rs b/compiler/rustc_borrowck/src/region_infer/opaque_types.rs index 139cebe0e43..f24d8816399 100644 --- a/compiler/rustc_borrowck/src/region_infer/opaque_types.rs +++ b/compiler/rustc_borrowck/src/region_infer/opaque_types.rs @@ -66,6 +66,10 @@ impl<'tcx> RegionInferenceContext<'tcx> { let mut subst_regions = vec![self.universal_regions.fr_static]; let universal_substs = infcx.tcx.fold_regions(substs, &mut false, |region, _| { + if let ty::RePlaceholder(..) = region { + // Higher kinded regions don't need remapping, they don't refer to anything outside of this the substs. + return region; + } let vid = self.to_region_vid(region); trace!(?vid); let scc = self.constraint_sccs.scc(vid); |
