summary refs log tree commit diff
path: root/compiler/rustc_middle/src/query
diff options
context:
space:
mode:
authororibenshir <oribenshir@gmail.com>2022-03-05 12:04:32 +0200
committeroribenshir <oribenshir@gmail.com>2022-04-16 14:09:40 +0300
commitebe3c56c6eeca6db4a62ebb99e2ffe35f33ea4de (patch)
treedfca2323c2625eafa1cc55e08b4b638970de835a /compiler/rustc_middle/src/query
parent07bb916d44a66d2caba427c7ee132bbeb245977b (diff)
downloadrust-ebe3c56c6eeca6db4a62ebb99e2ffe35f33ea4de.tar.gz
rust-ebe3c56c6eeca6db4a62ebb99e2ffe35f33ea4de.zip
Provide a better diagnostic on failure to meet send bound on futures in a foreign crate
Adding diagnostic data on generators to the crate metadata and using it to provide
a better diagnostic on failure to meet send bound on futures originated from a foreign crate
Diffstat (limited to 'compiler/rustc_middle/src/query')
-rw-r--r--compiler/rustc_middle/src/query/mod.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/query/mod.rs b/compiler/rustc_middle/src/query/mod.rs
index f38ade1076e..3b61d91a10f 100644
--- a/compiler/rustc_middle/src/query/mod.rs
+++ b/compiler/rustc_middle/src/query/mod.rs
@@ -1962,4 +1962,10 @@ rustc_queries! {
         eval_always
         desc { "computing the backend features for CLI flags" }
     }
+
+    query generator_diagnostic_data(key: DefId) -> Option<GeneratorDiagnosticData<'tcx>> {
+        storage(ArenaCacheSelector<'tcx>)
+        desc { |tcx| "looking up generator diagnostic data of `{}`", tcx.def_path_str(key) }
+        separate_provide_extern
+    }
 }