Skip to main content

Module early

Module early 

Source
Expand description

Implementation of the early lint pass.

The early lint pass works on AST nodes after macro expansion and name resolution, just before AST lowering. These lints are for purely syntactical lints.

Re-exportsยง

use rustc_ast::visit as ast_visit; ๐Ÿ”’
use rustc_ast::visit::Visitor; ๐Ÿ”’
use rustc_ast::visit::walk_list; ๐Ÿ”’
use rustc_ast as ast; ๐Ÿ”’
use rustc_ast::AttrVec; ๐Ÿ”’
use rustc_ast::HasAttrs; ๐Ÿ”’
use rustc_errors::BufferedEarlyLint; ๐Ÿ”’
use rustc_errors::LintBuffer; ๐Ÿ”’
use rustc_feature::Features; ๐Ÿ”’
use rustc_lint_defs::LintPass; ๐Ÿ”’
use rustc_middle::ty::RegisteredTools; ๐Ÿ”’
use rustc_session::Session; ๐Ÿ”’
use rustc_span::Ident; ๐Ÿ”’
use rustc_span::Span; ๐Ÿ”’
use tracing::debug; ๐Ÿ”’
use crate::DiagAndSess; ๐Ÿ”’
use crate::context::EarlyContext; ๐Ÿ”’
use crate::context::EarlyLintPassFactory; ๐Ÿ”’
use crate::context::LintContext; ๐Ÿ”’
use crate::context::LintStore; ๐Ÿ”’
use crate::passes::EarlyLintPass; ๐Ÿ”’
use crate::passes::EarlyLintPassObject; ๐Ÿ”’

Modulesยง

diagnostics ๐Ÿ”’

Macrosยง

impl_early_lint_pass ๐Ÿ”’
lint_callback ๐Ÿ”’

Structsยง

EarlyContextAndPass ๐Ÿ”’
Implements the AST traversal for early lint passes. T provides the check_* methods.
RuntimeCombinedEarlyLintPass ๐Ÿ”’

Enumsยง

EarlyCheckNode
Early lints work on different nodes - either on the crate root, or on freshly loaded modules. This trait generalizes over those nodes.

Functionsยง

check_ast_node
run_pass ๐Ÿ”’
run_passes ๐Ÿ”’