about summary refs log tree commit diff
path: root/compiler/rustc_infer
diff options
context:
space:
mode:
authorlcnr <rust@lcnr.de>2025-09-01 22:03:21 +0200
committerlcnr <rust@lcnr.de>2025-09-01 22:08:03 +0200
commitb8160e9f38329c5c17f642f3e7e8ac702375dad5 (patch)
treeca93db7d3abf58210861eb596c7fe3f53f1171cd /compiler/rustc_infer
parenta3993c5416d69591b45d2dad4c56ce2d3a971384 (diff)
downloadrust-b8160e9f38329c5c17f642f3e7e8ac702375dad5.tar.gz
rust-b8160e9f38329c5c17f642f3e7e8ac702375dad5.zip
use defining uses of all bodies to constrain non-defining uses
support non-defining uses in closures
Diffstat (limited to 'compiler/rustc_infer')
-rw-r--r--compiler/rustc_infer/src/infer/mod.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/rustc_infer/src/infer/mod.rs b/compiler/rustc_infer/src/infer/mod.rs
index d1507f08c06..d105d24bed7 100644
--- a/compiler/rustc_infer/src/infer/mod.rs
+++ b/compiler/rustc_infer/src/infer/mod.rs
@@ -989,6 +989,10 @@ impl<'tcx> InferCtxt<'tcx> {
         storage.var_infos.clone()
     }
 
+    pub fn has_opaque_types_in_storage(&self) -> bool {
+        !self.inner.borrow().opaque_type_storage.is_empty()
+    }
+
     #[instrument(level = "debug", skip(self), ret)]
     pub fn take_opaque_types(&self) -> Vec<(OpaqueTypeKey<'tcx>, OpaqueHiddenType<'tcx>)> {
         self.inner.borrow_mut().opaque_type_storage.take_opaque_types().collect()