about summary refs log tree commit diff
path: root/clippy_lints/src/main_recursion.rs
diff options
context:
space:
mode:
authorMikhail Babenko <misha-babenko@yandex.ru>2020-01-24 13:50:03 +0300
committerMikhail Babenko <misha-babenko@yandex.ru>2020-01-24 14:42:24 +0300
commit634774b89b446945d62572e86c6d29f2dacc8c76 (patch)
tree56d89ae222afe7552d6f2e7091e23a76453c98c6 /clippy_lints/src/main_recursion.rs
parent2c7cfa83211c03a24f0c075c71ac3e77525f3232 (diff)
downloadrust-634774b89b446945d62572e86c6d29f2dacc8c76.tar.gz
rust-634774b89b446945d62572e86c6d29f2dacc8c76.zip
don't fire empty_loop in no_std crates
Diffstat (limited to 'clippy_lints/src/main_recursion.rs')
-rw-r--r--clippy_lints/src/main_recursion.rs12
1 files changed, 2 insertions, 10 deletions
diff --git a/clippy_lints/src/main_recursion.rs b/clippy_lints/src/main_recursion.rs
index 3a7bd2fb3a2..2d21aeaeec4 100644
--- a/clippy_lints/src/main_recursion.rs
+++ b/clippy_lints/src/main_recursion.rs
@@ -1,10 +1,8 @@
 use rustc_hir::{Crate, Expr, ExprKind, QPath};
 use rustc_lint::{LateContext, LateLintPass};
 use rustc_session::{declare_tool_lint, impl_lint_pass};
-use rustc_span::symbol::sym;
-use syntax::ast::AttrKind;
 
-use crate::utils::{is_entrypoint_fn, snippet, span_help_and_lint};
+use crate::utils::{is_entrypoint_fn, is_no_std_crate, snippet, span_help_and_lint};
 use if_chain::if_chain;
 
 declare_clippy_lint! {
@@ -35,13 +33,7 @@ impl_lint_pass!(MainRecursion => [MAIN_RECURSION]);
 
 impl LateLintPass<'_, '_> for MainRecursion {
     fn check_crate(&mut self, _: &LateContext<'_, '_>, krate: &Crate<'_>) {
-        self.has_no_std_attr = krate.attrs.iter().any(|attr| {
-            if let AttrKind::Normal(ref attr) = attr.kind {
-                attr.path == sym::no_std
-            } else {
-                false
-            }
-        });
+        self.has_no_std_attr = is_no_std_crate(krate);
     }
 
     fn check_expr_post(&mut self, cx: &LateContext<'_, '_>, expr: &Expr<'_>) {