mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-23 13:13:34 +00:00
Remove hir::Crate::attrs.
This commit is contained in:
parent
acd6014b80
commit
b32cffe493
5 changed files with 11 additions and 9 deletions
|
@ -208,8 +208,9 @@ impl_lint_pass!(DocMarkdown =>
|
||||||
);
|
);
|
||||||
|
|
||||||
impl<'tcx> LateLintPass<'tcx> for DocMarkdown {
|
impl<'tcx> LateLintPass<'tcx> for DocMarkdown {
|
||||||
fn check_crate(&mut self, cx: &LateContext<'tcx>, krate: &'tcx hir::Crate<'_>) {
|
fn check_crate(&mut self, cx: &LateContext<'tcx>, _: &'tcx hir::Crate<'_>) {
|
||||||
check_attrs(cx, &self.valid_idents, &krate.item.attrs);
|
let attrs = cx.tcx.hir().attrs(hir::CRATE_HIR_ID);
|
||||||
|
check_attrs(cx, &self.valid_idents, attrs);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx hir::Item<'_>) {
|
fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx hir::Item<'_>) {
|
||||||
|
|
|
@ -578,7 +578,7 @@ impl<'tcx> LateLintPass<'tcx> for Loops {
|
||||||
// also check for empty `loop {}` statements, skipping those in #[panic_handler]
|
// also check for empty `loop {}` statements, skipping those in #[panic_handler]
|
||||||
if block.stmts.is_empty() && block.expr.is_none() && !is_in_panic_handler(cx, expr) {
|
if block.stmts.is_empty() && block.expr.is_none() && !is_in_panic_handler(cx, expr) {
|
||||||
let msg = "empty `loop {}` wastes CPU cycles";
|
let msg = "empty `loop {}` wastes CPU cycles";
|
||||||
let help = if is_no_std_crate(cx.tcx.hir().krate()) {
|
let help = if is_no_std_crate(cx) {
|
||||||
"you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body"
|
"you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body"
|
||||||
} else {
|
} else {
|
||||||
"you should either use `panic!()` or add `std::thread::sleep(..);` to the loop body"
|
"you should either use `panic!()` or add `std::thread::sleep(..);` to the loop body"
|
||||||
|
|
|
@ -32,8 +32,8 @@ pub struct MainRecursion {
|
||||||
impl_lint_pass!(MainRecursion => [MAIN_RECURSION]);
|
impl_lint_pass!(MainRecursion => [MAIN_RECURSION]);
|
||||||
|
|
||||||
impl LateLintPass<'_> for MainRecursion {
|
impl LateLintPass<'_> for MainRecursion {
|
||||||
fn check_crate(&mut self, _: &LateContext<'_>, krate: &Crate<'_>) {
|
fn check_crate(&mut self, cx: &LateContext<'_>, _: &Crate<'_>) {
|
||||||
self.has_no_std_attr = is_no_std_crate(krate);
|
self.has_no_std_attr = is_no_std_crate(cx);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn check_expr_post(&mut self, cx: &LateContext<'_>, expr: &Expr<'_>) {
|
fn check_expr_post(&mut self, cx: &LateContext<'_>, expr: &Expr<'_>) {
|
||||||
|
|
|
@ -127,7 +127,8 @@ impl<'tcx> LateLintPass<'tcx> for MissingDoc {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn check_crate(&mut self, cx: &LateContext<'tcx>, krate: &'tcx hir::Crate<'_>) {
|
fn check_crate(&mut self, cx: &LateContext<'tcx>, krate: &'tcx hir::Crate<'_>) {
|
||||||
self.check_missing_docs_attrs(cx, &krate.item.attrs, krate.item.span, "the", "crate");
|
let attrs = cx.tcx.hir().attrs(hir::CRATE_HIR_ID);
|
||||||
|
self.check_missing_docs_attrs(cx, attrs, krate.item.span, "the", "crate");
|
||||||
}
|
}
|
||||||
|
|
||||||
fn check_item(&mut self, cx: &LateContext<'tcx>, it: &'tcx hir::Item<'_>) {
|
fn check_item(&mut self, cx: &LateContext<'tcx>, it: &'tcx hir::Item<'_>) {
|
||||||
|
|
|
@ -61,7 +61,7 @@ use rustc_hir::def_id::{DefId, LOCAL_CRATE};
|
||||||
use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor};
|
use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor};
|
||||||
use rustc_hir::Node;
|
use rustc_hir::Node;
|
||||||
use rustc_hir::{
|
use rustc_hir::{
|
||||||
def, Arm, Block, Body, Constness, Crate, Expr, ExprKind, FnDecl, HirId, ImplItem, ImplItemKind, Item, ItemKind,
|
def, Arm, Block, Body, Constness, Expr, ExprKind, FnDecl, HirId, ImplItem, ImplItemKind, Item, ItemKind,
|
||||||
MatchSource, Param, Pat, PatKind, Path, PathSegment, QPath, TraitItem, TraitItemKind, TraitRef, TyKind, Unsafety,
|
MatchSource, Param, Pat, PatKind, Path, PathSegment, QPath, TraitItem, TraitItemKind, TraitRef, TyKind, Unsafety,
|
||||||
};
|
};
|
||||||
use rustc_infer::infer::TyCtxtInferExt;
|
use rustc_infer::infer::TyCtxtInferExt;
|
||||||
|
@ -1510,8 +1510,8 @@ pub fn is_must_use_func_call(cx: &LateContext<'_>, expr: &Expr<'_>) -> bool {
|
||||||
did.map_or(false, |did| must_use_attr(&cx.tcx.get_attrs(did)).is_some())
|
did.map_or(false, |did| must_use_attr(&cx.tcx.get_attrs(did)).is_some())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn is_no_std_crate(krate: &Crate<'_>) -> bool {
|
pub fn is_no_std_crate(cx: &LateContext<'_>) -> bool {
|
||||||
krate.item.attrs.iter().any(|attr| {
|
cx.tcx.hir().attrs(hir::CRATE_HIR_ID).iter().any(|attr| {
|
||||||
if let ast::AttrKind::Normal(ref attr, _) = attr.kind {
|
if let ast::AttrKind::Normal(ref attr, _) = attr.kind {
|
||||||
attr.path == sym::no_std
|
attr.path == sym::no_std
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue