about summary refs log tree commit diff
path: root/compiler/rustc_borrowck/src
diff options
context:
space:
mode:
authorOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2024-03-19 16:09:16 +0000
committerOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2024-03-21 08:17:12 +0000
commit6623bdf68b3d6e3984885ef72d62e7df0d256f7b (patch)
treea7762687df0ebb82c1e5f4133aafb33f5dcd0c55 /compiler/rustc_borrowck/src
parent6e1f7b538a1d6fc6208b1821139148a8d6dc6560 (diff)
downloadrust-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.rs5
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);