lints: move a comment
This commit is contained in:
parent
f58db20362
commit
b59235975e
2 changed files with 21 additions and 25 deletions
|
@ -1,9 +1,25 @@
|
||||||
//! # Lints in the Rust compiler
|
//! Lints, aka compiler warnings.
|
||||||
//!
|
//!
|
||||||
//! This currently only contains the definitions and implementations
|
//! A 'lint' check is a kind of miscellaneous constraint that a user _might_
|
||||||
//! of most of the lints that `rustc` supports directly, it does not
|
//! want to enforce, but might reasonably want to permit as well, on a
|
||||||
//! contain the infrastructure for defining/registering lints. That is
|
//! module-by-module basis. They contrast with static constraints enforced by
|
||||||
//! available in `rustc::lint` and `rustc_driver::plugin` respectively.
|
//! 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
|
//! ## Note
|
||||||
//!
|
//!
|
||||||
|
|
|
@ -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 crate::context::{EarlyContext, LateContext};
|
||||||
|
|
||||||
use rustc_data_structures::sync;
|
use rustc_data_structures::sync;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue