@@ -182,6 +182,7 @@ fn toolchain_path(home: Option<String>, toolchain: Option<String>) -> Option<Pat
182
182
} )
183
183
}
184
184
185
+ #[ allow( clippy:: too_many_lines) ]
185
186
pub fn main ( ) {
186
187
rustc_driver:: init_rustc_env_logger ( ) ;
187
188
SyncLazy :: force ( & ICE_HOOK ) ;
@@ -294,17 +295,20 @@ pub fn main() {
294
295
295
296
// this check ensures that dependencies are built but not linted and the final
296
297
// crate is linted but not built
297
- let clippy_disabled = env:: var ( "CLIPPY_TESTS" ) . map_or ( false , |val| val != "true" )
298
- || arg_value ( & orig_args, "--cap-lints" , |val| val == "allow" ) . is_some ( )
299
- || no_deps && env:: var ( "CARGO_PRIMARY_PACKAGE" ) . is_err ( ) ;
298
+ let clippy_tests_set = env:: var ( "CLIPPY_TESTS" ) . map_or ( false , |val| val == "true" ) ;
299
+ let cap_lints_allow = arg_value ( & orig_args, "--cap-lints" , |val| val == "allow" ) . is_some ( ) ;
300
+ let in_primary_package = env:: var ( "CARGO_PRIMARY_PACKAGE" ) . is_ok ( ) ;
300
301
301
- if !clippy_disabled {
302
+ let clippy_enabled = clippy_tests_set || ( !cap_lints_allow && ( !no_deps || in_primary_package) ) ;
303
+ if clippy_enabled {
302
304
args. extend ( clippy_args) ;
303
305
}
306
+
304
307
let mut clippy = ClippyCallbacks ;
305
308
let mut default = DefaultCallbacks ;
306
309
let callbacks: & mut ( dyn rustc_driver:: Callbacks + Send ) =
307
- if clippy_disabled { & mut default } else { & mut clippy } ;
310
+ if clippy_enabled { & mut clippy } else { & mut default } ;
311
+
308
312
rustc_driver:: RunCompiler :: new ( & args, callbacks) . run ( )
309
313
} ) )
310
314
}
0 commit comments