diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2024-03-19 16:09:16 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2024-03-21 08:17:12 +0000 |
| commit | 6623bdf68b3d6e3984885ef72d62e7df0d256f7b (patch) | |
| tree | a7762687df0ebb82c1e5f4133aafb33f5dcd0c55 /compiler/rustc_borrowck/src | |
| parent | 6e1f7b538a1d6fc6208b1821139148a8d6dc6560 (diff) | |
| download | rust-6623bdf68b3d6e3984885ef72d62e7df0d256f7b.tar.gz rust-6623bdf68b3d6e3984885ef72d62e7df0d256f7b.zip | |
Strip placeholders from hidden types before remapping generic parameter in the hidden type to the generic parameters of the definition of the opaque
Diffstat (limited to 'compiler/rustc_borrowck/src')
| -rw-r--r-- | compiler/rustc_borrowck/src/region_infer/opaque_types.rs | 5 |
1 files changed, 5 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 193b6d3e3d9..d5875a226fe 100644 --- a/compiler/rustc_borrowck/src/region_infer/opaque_types.rs +++ b/compiler/rustc_borrowck/src/region_infer/opaque_types.rs @@ -192,6 +192,11 @@ impl<'tcx> RegionInferenceContext<'tcx> { .find(|ur_vid| self.eval_equal(vid, **ur_vid)) .and_then(|ur_vid| self.definitions[*ur_vid].external_name) .unwrap_or(infcx.tcx.lifetimes.re_erased), + ty::RePlaceholder(_) => ty::Region::new_error_with_message( + infcx.tcx, + concrete_type.span, + "hidden type contains placeholders, we don't support higher kinded opaques yet", + ), _ => region, }); debug!(?universal_concrete_type); |
