diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2018-07-11 00:36:31 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2018-07-11 00:36:31 +0200 |
| commit | 90b3e2c1c8117965a6f7175987409b2ab4de8453 (patch) | |
| tree | e4f7071b442e1a487e5cb92f3c94fbd0e281151f /src | |
| parent | 90bd83c9fca7b22056ec1ee0f00f095230bdb5c7 (diff) | |
| download | rust-90b3e2c1c8117965a6f7175987409b2ab4de8453.tar.gz rust-90b3e2c1c8117965a6f7175987409b2ab4de8453.zip | |
Improve lint handling in rustdoc
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/core.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs index 417a78b2a3a..0a56c639220 100644 --- a/src/librustdoc/core.rs +++ b/src/librustdoc/core.rs @@ -193,6 +193,17 @@ pub fn run_core(search_paths: SearchPaths, let intra_link_resolution_failure_name = lint::builtin::INTRA_DOC_LINK_RESOLUTION_FAILURE.name; let warnings_lint_name = lint::builtin::WARNINGS.name; let missing_docs = rustc_lint::builtin::MISSING_DOCS.name; + + // In addition to those specific lints, we also need to whitelist those given through + // command line, otherwise they'll get ignored and we don't want that. + let mut whitelisted_lints = vec![warnings_lint_name.to_owned(), + intra_link_resolution_failure_name.to_owned(), + missing_docs.to_owned()]; + + for (lint, _) in &cmd_lints { + whitelisted_lints.push(lint.clone()); + } + let lints = lint::builtin::HardwiredLints.get_lints() .into_iter() .chain(rustc_lint::SoftLints.get_lints().into_iter()) @@ -248,9 +259,7 @@ pub fn run_core(search_paths: SearchPaths, .filter_map(|lint| { // We don't want to whitelist *all* lints so let's // ignore those ones. - if lint.name == warnings_lint_name || - lint.name == intra_link_resolution_failure_name || - lint.name == missing_docs { + if whitelisted_lints.iter().any(|l| &lint.name == l) { None } else { Some(lint) |
