Skip to content

Commit 4b598d3

Browse files
committed
Stop emitting lints during lowering.
1 parent c10a1ce commit 4b598d3

File tree

3 files changed

+15
-24
lines changed

3 files changed

+15
-24
lines changed

compiler/rustc_ast_lowering/src/lib.rs

-3
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ use rustc_hir::intravisit;
5757
use rustc_hir::{ConstArg, GenericArg, ItemLocalId, ParamName, TraitCandidate};
5858
use rustc_index::vec::{Idx, IndexVec};
5959
use rustc_query_system::ich::StableHashingContext;
60-
use rustc_session::lint::LintBuffer;
6160
use rustc_session::parse::feature_err;
6261
use rustc_session::utils::{FlattenNonterminals, NtToTokenstream};
6362
use rustc_session::Session;
@@ -180,8 +179,6 @@ pub trait ResolverAstLowering {
180179

181180
fn definitions(&self) -> &Definitions;
182181

183-
fn lint_buffer(&mut self) -> &mut LintBuffer;
184-
185182
fn next_node_id(&mut self) -> NodeId;
186183

187184
fn take_trait_map(&mut self, node: NodeId) -> Option<Vec<hir::TraitCandidate>>;

compiler/rustc_interface/src/passes.rs

+15-17
Original file line numberDiff line numberDiff line change
@@ -487,12 +487,24 @@ pub fn configure_and_expand(
487487
}
488488
});
489489

490+
sess.time("early_lint_checks", || {
491+
let lint_buffer = Some(std::mem::take(resolver.lint_buffer()));
492+
rustc_lint::check_ast_node(
493+
sess,
494+
false,
495+
lint_store,
496+
resolver.registered_tools(),
497+
lint_buffer,
498+
rustc_lint::BuiltinCombinedEarlyLintPass::new(),
499+
&krate,
500+
)
501+
});
502+
490503
Ok(krate)
491504
}
492505

493506
pub fn lower_to_hir<'res, 'tcx>(
494507
sess: &'tcx Session,
495-
lint_store: &LintStore,
496508
resolver: &'res mut Resolver<'_>,
497509
krate: Rc<ast::Crate>,
498510
arena: &'tcx rustc_ast_lowering::Arena<'tcx>,
@@ -506,19 +518,6 @@ pub fn lower_to_hir<'res, 'tcx>(
506518
arena,
507519
);
508520

509-
sess.time("early_lint_checks", || {
510-
let lint_buffer = Some(std::mem::take(resolver.lint_buffer()));
511-
rustc_lint::check_ast_node(
512-
sess,
513-
false,
514-
lint_store,
515-
resolver.registered_tools(),
516-
lint_buffer,
517-
rustc_lint::BuiltinCombinedEarlyLintPass::new(),
518-
&*krate,
519-
)
520-
});
521-
522521
// Drop AST to free memory
523522
sess.time("drop_ast", || std::mem::drop(krate));
524523

@@ -852,9 +851,8 @@ pub fn create_global_ctxt<'tcx>(
852851
dep_graph.assert_ignored();
853852

854853
let sess = &compiler.session();
855-
let krate = resolver
856-
.borrow_mut()
857-
.access(|resolver| lower_to_hir(sess, &lint_store, resolver, krate, hir_arena));
854+
let krate =
855+
resolver.borrow_mut().access(|resolver| lower_to_hir(sess, resolver, krate, hir_arena));
858856
let resolver_outputs = BoxedResolver::to_resolver_outputs(resolver);
859857

860858
let query_result_on_disk_cache = rustc_incremental::load_query_result_cache(sess);

compiler/rustc_resolve/src/lib.rs

-4
Original file line numberDiff line numberDiff line change
@@ -1204,10 +1204,6 @@ impl ResolverAstLowering for Resolver<'_> {
12041204
&self.definitions
12051205
}
12061206

1207-
fn lint_buffer(&mut self) -> &mut LintBuffer {
1208-
&mut self.lint_buffer
1209-
}
1210-
12111207
fn next_node_id(&mut self) -> NodeId {
12121208
self.next_node_id()
12131209
}

0 commit comments

Comments
 (0)