about summary refs log tree commit diff
path: root/compiler/rustc_session/src
diff options
context:
space:
mode:
authorDavid Wood <david.wood@huawei.com>2022-07-26 11:42:27 +0100
committerDavid Wood <david.wood@huawei.com>2022-07-27 11:24:27 +0100
commitf5e005f0ca0b6fbc427315fa7e6943f4b738e12d (patch)
treede0cf7876605a8ee27d3c04ed92cd15d3a3baf76 /compiler/rustc_session/src
parent1b8e4b9391550147683c6cbec91faa95289a5827 (diff)
downloadrust-f5e005f0ca0b6fbc427315fa7e6943f4b738e12d.tar.gz
rust-f5e005f0ca0b6fbc427315fa7e6943f4b738e12d.zip
session: disable internal lints for rustdoc
If an internal lint uses `typeck_results` or similar queries then that
can result in rustdoc checking code that it shouldn't (e.g. from other
platforms) and emit compilation errors.

Signed-off-by: David Wood <david.wood@huawei.com>
Diffstat (limited to 'compiler/rustc_session/src')
-rw-r--r--compiler/rustc_session/src/session.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/rustc_session/src/session.rs b/compiler/rustc_session/src/session.rs
index 854cad79a20..ac4a6b6da6f 100644
--- a/compiler/rustc_session/src/session.rs
+++ b/compiler/rustc_session/src/session.rs
@@ -589,6 +589,14 @@ impl Session {
     pub fn time_passes(&self) -> bool {
         self.opts.unstable_opts.time_passes || self.opts.unstable_opts.time
     }
+
+    /// Returns `true` if internal lints should be added to the lint store - i.e. if
+    /// `-Zunstable-options` is provided and this isn't rustdoc (internal lints can trigger errors
+    /// to be emitted under rustdoc).
+    pub fn enable_internal_lints(&self) -> bool {
+        self.unstable_options() && !self.opts.actually_rustdoc
+    }
+
     pub fn instrument_mcount(&self) -> bool {
         self.opts.unstable_opts.instrument_mcount
     }