@@ -260,26 +260,41 @@ fn register_builtins(store: &mut LintStore, no_interleave_lints: bool) {
260
260
)
261
261
}
262
262
263
- macro_rules! register_pass {
263
+ macro_rules! register_early_pass {
264
264
( $method: ident, $ty: ident, $constructor: expr) => {
265
265
store. register_lints( & $ty:: get_lints( ) ) ;
266
266
store. $method( || Box :: new( $constructor) ) ;
267
267
} ;
268
268
}
269
269
270
- macro_rules! register_passes {
270
+ macro_rules! register_late_pass {
271
+ ( $method: ident, $ty: ident, $constructor: expr) => {
272
+ store. register_lints( & $ty:: get_lints( ) ) ;
273
+ store. $method( |_| Box :: new( $constructor) ) ;
274
+ } ;
275
+ }
276
+
277
+ macro_rules! register_early_passes {
278
+ ( $method: ident, [ $( $passes: ident: $constructor: expr, ) * ] ) => (
279
+ $(
280
+ register_early_pass!( $method, $passes, $constructor) ;
281
+ ) *
282
+ )
283
+ }
284
+
285
+ macro_rules! register_late_passes {
271
286
( $method: ident, [ $( $passes: ident: $constructor: expr, ) * ] ) => (
272
287
$(
273
- register_pass !( $method, $passes, $constructor) ;
288
+ register_late_pass !( $method, $passes, $constructor) ;
274
289
) *
275
290
)
276
291
}
277
292
278
293
if no_interleave_lints {
279
- pre_expansion_lint_passes ! ( register_passes , register_pre_expansion_pass) ;
280
- early_lint_passes ! ( register_passes , register_early_pass) ;
281
- late_lint_passes ! ( register_passes , register_late_pass) ;
282
- late_lint_mod_passes ! ( register_passes , register_late_mod_pass) ;
294
+ pre_expansion_lint_passes ! ( register_early_passes , register_pre_expansion_pass) ;
295
+ early_lint_passes ! ( register_early_passes , register_early_pass) ;
296
+ late_lint_passes ! ( register_late_passes , register_late_pass) ;
297
+ late_lint_mod_passes ! ( register_late_passes , register_late_mod_pass) ;
283
298
} else {
284
299
store. register_lints ( & BuiltinCombinedPreExpansionLintPass :: get_lints ( ) ) ;
285
300
store. register_lints ( & BuiltinCombinedEarlyLintPass :: get_lints ( ) ) ;
@@ -510,19 +525,19 @@ fn register_internals(store: &mut LintStore) {
510
525
store. register_lints ( & LintPassImpl :: get_lints ( ) ) ;
511
526
store. register_early_pass ( || Box :: new ( LintPassImpl ) ) ;
512
527
store. register_lints ( & DefaultHashTypes :: get_lints ( ) ) ;
513
- store. register_late_pass ( || Box :: new ( DefaultHashTypes ) ) ;
528
+ store. register_late_pass ( |_ | Box :: new ( DefaultHashTypes ) ) ;
514
529
store. register_lints ( & QueryStability :: get_lints ( ) ) ;
515
- store. register_late_pass ( || Box :: new ( QueryStability ) ) ;
530
+ store. register_late_pass ( |_ | Box :: new ( QueryStability ) ) ;
516
531
store. register_lints ( & ExistingDocKeyword :: get_lints ( ) ) ;
517
- store. register_late_pass ( || Box :: new ( ExistingDocKeyword ) ) ;
532
+ store. register_late_pass ( |_ | Box :: new ( ExistingDocKeyword ) ) ;
518
533
store. register_lints ( & TyTyKind :: get_lints ( ) ) ;
519
- store. register_late_pass ( || Box :: new ( TyTyKind ) ) ;
534
+ store. register_late_pass ( |_ | Box :: new ( TyTyKind ) ) ;
520
535
store. register_lints ( & Diagnostics :: get_lints ( ) ) ;
521
- store. register_late_pass ( || Box :: new ( Diagnostics ) ) ;
536
+ store. register_late_pass ( |_ | Box :: new ( Diagnostics ) ) ;
522
537
store. register_lints ( & BadOptAccess :: get_lints ( ) ) ;
523
- store. register_late_pass ( || Box :: new ( BadOptAccess ) ) ;
538
+ store. register_late_pass ( |_ | Box :: new ( BadOptAccess ) ) ;
524
539
store. register_lints ( & PassByValue :: get_lints ( ) ) ;
525
- store. register_late_pass ( || Box :: new ( PassByValue ) ) ;
540
+ store. register_late_pass ( |_ | Box :: new ( PassByValue ) ) ;
526
541
// FIXME(davidtwco): deliberately do not include `UNTRANSLATABLE_DIAGNOSTIC` and
527
542
// `DIAGNOSTIC_OUTSIDE_OF_IMPL` here because `-Wrustc::internal` is provided to every crate and
528
543
// these lints will trigger all of the time - change this once migration to diagnostic structs
0 commit comments