]> git.lizzy.rs Git - rust.git/commitdiff
Elaborate docs on the `promoted_mir` query
authorOliver Scherer <github35764891676564198441@oli-obk.de>
Tue, 18 Aug 2020 12:18:45 +0000 (14:18 +0200)
committerOliver Scherer <github35764891676564198441@oli-obk.de>
Tue, 18 Aug 2020 12:18:45 +0000 (14:18 +0200)
src/librustc_middle/query/mod.rs

index b22bf5308690fba892aa0048ae5ae16ab878ad13..15d267e4b1eb0c2beaf0b1123f1f5d1c39bedbd5 100644 (file)
@@ -282,7 +282,10 @@ fn describe_as_module(def_id: LocalDefId, tcx: TyCtxt<'_>) -> String {
         }
 
         /// The `DefId` is the `DefId` of the containing MIR body. Promoteds to not have their own
-        /// `DefId`.
+        /// `DefId`. This function returns all promoteds in the specified body. The body references
+        /// promoteds by the `DefId` and the `mir::Promoted` index. This is necessary, because
+        /// after inlining a body may refer to promoteds from other bodies. In that case you still
+        /// need to use the `DefId` of the original body.
         query promoted_mir(key: DefId) -> &'tcx IndexVec<mir::Promoted, mir::Body<'tcx>> {
             desc { |tcx| "optimizing promoted MIR for `{}`", tcx.def_path_str(key) }
             cache_on_disk_if { key.is_local() }