From b59235975e43ef5f3ea9436a62f4f07ee5b9a63e Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Thu, 9 Jan 2020 07:58:48 +0100 Subject: [PATCH] lints: move a comment --- src/librustc_lint/lib.rs | 26 +++++++++++++++++++++----- src/librustc_lint/passes.rs | 20 -------------------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/src/librustc_lint/lib.rs b/src/librustc_lint/lib.rs index 93eae1d6c1a..6e3382dee9a 100644 --- a/src/librustc_lint/lib.rs +++ b/src/librustc_lint/lib.rs @@ -1,9 +1,25 @@ -//! # Lints in the Rust compiler +//! Lints, aka compiler warnings. //! -//! This currently only contains the definitions and implementations -//! of most of the lints that `rustc` supports directly, it does not -//! contain the infrastructure for defining/registering lints. That is -//! available in `rustc::lint` and `rustc_driver::plugin` respectively. +//! A 'lint' check is a kind of miscellaneous constraint that a user _might_ +//! want to enforce, but might reasonably want to permit as well, on a +//! module-by-module basis. They contrast with static constraints enforced by +//! other phases of the compiler, which are generally required to hold in order +//! to compile the program at all. +//! +//! Most lints can be written as `LintPass` instances. These run after +//! all other analyses. The `LintPass`es built into rustc are defined +//! within `rustc_session::lint::builtin`, +//! which has further comments on how to add such a lint. +//! rustc can also load user-defined lint plugins via the plugin mechanism. +//! +//! Some of rustc's lints are defined elsewhere in the compiler and work by +//! calling `add_lint()` on the overall `Session` object. This works when +//! it happens before the main lint pass, which emits the lints stored by +//! `add_lint()`. To emit lints after the main lint pass (from codegen, for +//! example) requires more effort. See `emit_lint` and `GatherNodeLevels` +//! in `context.rs`. +//! +//! Some code also exists in `rustc_session::lint`, `rustc::lint`. //! //! ## Note //! diff --git a/src/librustc_lint/passes.rs b/src/librustc_lint/passes.rs index cb54105381f..7e5d670767a 100644 --- a/src/librustc_lint/passes.rs +++ b/src/librustc_lint/passes.rs @@ -1,23 +1,3 @@ -//! Lints, aka compiler warnings. -//! -//! A 'lint' check is a kind of miscellaneous constraint that a user _might_ -//! want to enforce, but might reasonably want to permit as well, on a -//! module-by-module basis. They contrast with static constraints enforced by -//! other phases of the compiler, which are generally required to hold in order -//! to compile the program at all. -//! -//! Most lints can be written as `LintPass` instances. These run after -//! all other analyses. The `LintPass`es built into rustc are defined -//! within `builtin.rs`, which has further comments on how to add such a lint. -//! rustc can also load user-defined lint plugins via the plugin mechanism. -//! -//! Some of rustc's lints are defined elsewhere in the compiler and work by -//! calling `add_lint()` on the overall `Session` object. This works when -//! it happens before the main lint pass, which emits the lints stored by -//! `add_lint()`. To emit lints after the main lint pass (from codegen, for -//! example) requires more effort. See `emit_lint` and `GatherNodeLevels` -//! in `context.rs`. - use crate::context::{EarlyContext, LateContext}; use rustc_data_structures::sync;