@@ -363,30 +363,6 @@ impl<'a> EarlyCheckNode<'a> for (ast::NodeId, &'a [ast::Attribute], &'a [P<ast::
363
363
}
364
364
}
365
365
366
- fn early_lint_node < ' a > (
367
- sess : & Session ,
368
- warn_about_weird_lints : bool ,
369
- lint_store : & LintStore ,
370
- registered_tools : & RegisteredTools ,
371
- buffered : LintBuffer ,
372
- pass : impl EarlyLintPass ,
373
- check_node : impl EarlyCheckNode < ' a > ,
374
- ) -> LintBuffer {
375
- let mut cx = EarlyContextAndPass {
376
- context : EarlyContext :: new (
377
- sess,
378
- warn_about_weird_lints,
379
- lint_store,
380
- registered_tools,
381
- buffered,
382
- ) ,
383
- pass,
384
- } ;
385
-
386
- cx. with_lint_attrs ( check_node. id ( ) , check_node. attrs ( ) , |cx| check_node. check ( cx) ) ;
387
- cx. context . buffered
388
- }
389
-
390
366
pub fn check_ast_node < ' a > (
391
367
sess : & Session ,
392
368
pre_expansion : bool ,
@@ -401,21 +377,22 @@ pub fn check_ast_node<'a>(
401
377
let mut passes: Vec < _ > = passes. iter ( ) . map ( |p| ( p) ( ) ) . collect ( ) ;
402
378
passes. push ( Box :: new ( builtin_lints) ) ;
403
379
404
- let mut buffered = lint_buffer. unwrap_or_default ( ) ;
405
- buffered = early_lint_node (
406
- sess,
407
- !pre_expansion,
408
- lint_store,
409
- registered_tools,
410
- buffered,
411
- EarlyLintPassObjects { lints : & mut passes[ ..] } ,
412
- check_node,
413
- ) ;
380
+ let mut cx = EarlyContextAndPass {
381
+ context : EarlyContext :: new (
382
+ sess,
383
+ !pre_expansion,
384
+ lint_store,
385
+ registered_tools,
386
+ lint_buffer. unwrap_or_default ( ) ,
387
+ ) ,
388
+ pass : EarlyLintPassObjects { lints : & mut passes[ ..] } ,
389
+ } ;
390
+ cx. with_lint_attrs ( check_node. id ( ) , check_node. attrs ( ) , |cx| check_node. check ( cx) ) ;
414
391
415
392
// All of the buffered lints should have been emitted at this point.
416
393
// If not, that means that we somehow buffered a lint for a node id
417
394
// that was not lint-checked (perhaps it doesn't exist?). This is a bug.
418
- for ( id, lints) in buffered. map {
395
+ for ( id, lints) in cx . context . buffered . map {
419
396
for early_lint in lints {
420
397
sess. delay_span_bug (
421
398
early_lint. span ,
0 commit comments