1
Fork 0
This commit is contained in:
Yuki Okushi 2020-01-07 01:39:50 +09:00
parent 732825dcff
commit 2f2eaf8b7e
140 changed files with 231 additions and 218 deletions

View file

@ -1,7 +1,7 @@
use crate::utils::span_lint; use crate::utils::span_lint;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::symbol; use rustc_span::symbol;
use std::f64::consts as f64; use std::f64::consts as f64;

View file

@ -1,8 +1,8 @@
use crate::consts::constant_simple; use crate::consts::constant_simple;
use crate::utils::span_lint; use crate::utils::span_lint;
use rustc::hir;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -3,8 +3,8 @@ use crate::utils::paths;
use crate::utils::{is_direct_expn_of, is_expn_of, match_function_call, snippet_opt, span_help_and_lint}; use crate::utils::{is_direct_expn_of, is_expn_of, match_function_call, snippet_opt, span_help_and_lint};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use syntax::ast::LitKind; use syntax::ast::LitKind;

View file

@ -1,9 +1,9 @@
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use crate::utils::{ use crate::utils::{
@ -232,7 +232,7 @@ fn lint_misrefactored_assign_op(
#[must_use] #[must_use]
fn is_commutative(op: hir::BinOpKind) -> bool { fn is_commutative(op: hir::BinOpKind) -> bool {
use rustc::hir::BinOpKind::*; use rustc_hir::BinOpKind::*;
match op { match op {
Add | Mul | And | Or | BitXor | BitAnd | BitOr | Eq | Ne => true, Add | Mul | And | Or | BitXor | BitAnd | BitOr | Eq | Ne => true,
Sub | Div | Rem | Shl | Shr | Lt | Le | Ge | Gt => false, Sub | Div | Rem | Shl | Shr | Lt | Le | Ge | Gt => false,

View file

@ -7,13 +7,13 @@ use crate::utils::{
}; };
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{ use rustc::lint::{
in_external_macro, CheckLintNameResult, EarlyContext, EarlyLintPass, LateContext, LateLintPass, LintArray, in_external_macro, CheckLintNameResult, EarlyContext, EarlyLintPass, LateContext, LateLintPass, LintArray,
LintContext, LintPass, LintContext, LintPass,
}; };
use rustc::ty; use rustc::ty;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use rustc_span::symbol::Symbol; use rustc_span::symbol::Symbol;

View file

@ -2,10 +2,10 @@ use crate::consts::{constant, Constant};
use crate::utils::sugg::Sugg; use crate::utils::sugg::Sugg;
use crate::utils::{span_lint, span_lint_and_then}; use crate::utils::{span_lint, span_lint_and_then};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::hir::*;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use syntax::ast::LitKind; use syntax::ast::LitKind;

View file

@ -1,8 +1,8 @@
use crate::utils::span_lint; use crate::utils::span_lint;
use rustc::hir::*;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_data_structures::fx::FxHashSet; use rustc_data_structures::fx::FxHashSet;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -2,8 +2,8 @@ use crate::utils::*;
use matches::matches; use matches::matches;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor};
use rustc::hir::*;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {
@ -78,7 +78,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for BlockInIfCondition {
} }
if let Some((check, then, _)) = higher::if_block(&expr) { if let Some((check, then, _)) = higher::if_block(&expr) {
if let ExprKind::Block(block, _) = &check.kind { if let ExprKind::Block(block, _) = &check.kind {
if block.rules == DefaultBlock { if block.rules == BlockCheckMode::DefaultBlock {
if block.stmts.is_empty() { if block.stmts.is_empty() {
if let Some(ex) = &block.expr { if let Some(ex) = &block.expr {
// don't dig into the expression here, just suggest that they remove // don't dig into the expression here, just suggest that they remove

View file

@ -4,10 +4,11 @@ use crate::utils::{
}; };
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::intravisit;
use rustc::hir::intravisit::*; use rustc::hir::intravisit::*;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use syntax::ast::LitKind; use syntax::ast::LitKind;
@ -109,7 +110,7 @@ impl<'a, 'tcx, 'v> Hir2Qmm<'a, 'tcx, 'v> {
// prevent folding of `cfg!` macros and the like // prevent folding of `cfg!` macros and the like
if !e.span.from_expansion() { if !e.span.from_expansion() {
match &e.kind { match &e.kind {
ExprKind::Unary(UnNot, inner) => return Ok(Bool::Not(box self.run(inner)?)), ExprKind::Unary(UnOp::UnNot, inner) => return Ok(Bool::Not(box self.run(inner)?)),
ExprKind::Binary(binop, lhs, rhs) => match &binop.node { ExprKind::Binary(binop, lhs, rhs) => match &binop.node {
BinOpKind::Or => return Ok(Bool::Or(self.extract(BinOpKind::Or, &[lhs, rhs], Vec::new())?)), BinOpKind::Or => return Ok(Bool::Or(self.extract(BinOpKind::Or, &[lhs, rhs], Vec::new())?)),
BinOpKind::And => return Ok(Bool::And(self.extract(BinOpKind::And, &[lhs, rhs], Vec::new())?)), BinOpKind::And => return Ok(Bool::And(self.extract(BinOpKind::And, &[lhs, rhs], Vec::new())?)),
@ -445,7 +446,7 @@ impl<'a, 'tcx> Visitor<'tcx> for NonminimalBoolVisitor<'a, 'tcx> {
ExprKind::Binary(binop, _, _) if binop.node == BinOpKind::Or || binop.node == BinOpKind::And => { ExprKind::Binary(binop, _, _) if binop.node == BinOpKind::Or || binop.node == BinOpKind::And => {
self.bool_expr(e) self.bool_expr(e)
}, },
ExprKind::Unary(UnNot, inner) => { ExprKind::Unary(UnOp::UnNot, inner) => {
if self.cx.tables.node_types()[inner.hir_id].is_bool() { if self.cx.tables.node_types()[inner.hir_id].is_bool() {
self.bool_expr(e); self.bool_expr(e);
} else { } else {
@ -471,7 +472,7 @@ struct NotSimplificationVisitor<'a, 'tcx> {
impl<'a, 'tcx> Visitor<'tcx> for NotSimplificationVisitor<'a, 'tcx> { impl<'a, 'tcx> Visitor<'tcx> for NotSimplificationVisitor<'a, 'tcx> {
fn visit_expr(&mut self, expr: &'tcx Expr<'_>) { fn visit_expr(&mut self, expr: &'tcx Expr<'_>) {
if let ExprKind::Unary(UnNot, inner) = &expr.kind { if let ExprKind::Unary(UnOp::UnNot, inner) = &expr.kind {
if let Some(suggestion) = simplify_not(self.cx, inner) { if let Some(suggestion) = simplify_not(self.cx, inner) {
span_lint_and_sugg( span_lint_and_sugg(
self.cx, self.cx,

View file

@ -4,10 +4,10 @@ use crate::utils::{
}; };
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use syntax::ast::{Name, UintTy}; use syntax::ast::{Name, UintTy};

View file

@ -2,9 +2,9 @@
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use syntax::ast::LitKind; use syntax::ast::LitKind;

View file

@ -1,9 +1,9 @@
//! calculate cognitive complexity and warn about overly complex functions //! calculate cognitive complexity and warn about overly complex functions
use rustc::hir::intravisit::{walk_expr, FnKind, NestedVisitorMap, Visitor}; use rustc::hir::intravisit::{walk_expr, FnKind, NestedVisitorMap, Visitor};
use rustc::hir::*;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use rustc_span::BytePos; use rustc_span::BytePos;

View file

@ -2,8 +2,8 @@ use crate::utils::{
get_trait_def_id, if_sequence, implements_trait, parent_node_is_if_expr, paths, span_help_and_lint, SpanlessEq, get_trait_def_id, if_sequence, implements_trait, parent_node_is_if_expr, paths, span_help_and_lint, SpanlessEq,
}; };
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -2,13 +2,13 @@
use crate::utils::{clip, higher, sext, unsext}; use crate::utils::{clip, higher, sext, unsext};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::hir::def::{DefKind, Res};
use rustc::hir::*;
use rustc::lint::LateContext; use rustc::lint::LateContext;
use rustc::ty::subst::{Subst, SubstsRef}; use rustc::ty::subst::{Subst, SubstsRef};
use rustc::ty::{self, Ty, TyCtxt}; use rustc::ty::{self, Ty, TyCtxt};
use rustc::{bug, span_bug}; use rustc::{bug, span_bug};
use rustc_data_structures::sync::Lrc; use rustc_data_structures::sync::Lrc;
use rustc_hir::def::{DefKind, Res};
use rustc_hir::*;
use rustc_span::symbol::Symbol; use rustc_span::symbol::Symbol;
use std::cmp::Ordering::{self, Equal}; use std::cmp::Ordering::{self, Equal};
use std::cmp::PartialOrd; use std::cmp::PartialOrd;
@ -240,9 +240,9 @@ impl<'c, 'cc> ConstEvalLateContext<'c, 'cc> {
self.expr(value).map(|v| Constant::Repeat(Box::new(v), n)) self.expr(value).map(|v| Constant::Repeat(Box::new(v), n))
}, },
ExprKind::Unary(op, ref operand) => self.expr(operand).and_then(|o| match op { ExprKind::Unary(op, ref operand) => self.expr(operand).and_then(|o| match op {
UnNot => self.constant_not(&o, self.tables.expr_ty(e)), UnOp::UnNot => self.constant_not(&o, self.tables.expr_ty(e)),
UnNeg => self.constant_negate(&o, self.tables.expr_ty(e)), UnOp::UnNeg => self.constant_negate(&o, self.tables.expr_ty(e)),
UnDeref => Some(o), UnOp::UnDeref => Some(o),
}), }),
ExprKind::Binary(op, ref left, ref right) => self.binop(op, left, right), ExprKind::Binary(op, ref left, ref right) => self.binop(op, left, right),
ExprKind::Call(ref callee, ref args) => { ExprKind::Call(ref callee, ref args) => {

View file

@ -1,10 +1,10 @@
use crate::utils::{get_parent_expr, higher, if_sequence, same_tys, snippet, span_lint_and_then, span_note_and_lint}; use crate::utils::{get_parent_expr, higher, if_sequence, same_tys, snippet, span_lint_and_then, span_note_and_lint};
use crate::utils::{SpanlessEq, SpanlessHash}; use crate::utils::{SpanlessEq, SpanlessHash};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty::Ty; use rustc::ty::Ty;
use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::fx::FxHashMap;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::symbol::Symbol; use rustc_span::symbol::Symbol;
use std::collections::hash_map::Entry; use std::collections::hash_map::Entry;

View file

@ -1,7 +1,7 @@
use crate::utils::{is_copy, match_path, paths, span_note_and_lint}; use crate::utils::{is_copy, match_path, paths, span_note_and_lint};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{Item, ItemKind};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::{Item, ItemKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,9 +1,9 @@
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use crate::utils::{any_parent_is_automatically_derived, match_def_path, paths, span_lint_and_sugg}; use crate::utils::{any_parent_is_automatically_derived, match_def_path, paths, span_lint_and_sugg};

View file

@ -2,9 +2,9 @@ use crate::utils::paths;
use crate::utils::{is_automatically_derived, is_copy, match_path, span_lint_and_then}; use crate::utils::{is_automatically_derived, is_copy, match_path, span_lint_and_then};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -1,9 +1,9 @@
use crate::utils::{match_type, paths, return_ty, span_lint}; use crate::utils::{match_type, paths, return_ty, span_lint};
use itertools::Itertools; use itertools::Itertools;
use rustc::hir;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintPass};
use rustc_data_structures::fx::FxHashSet; use rustc_data_structures::fx::FxHashSet;
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::{BytePos, MultiSpan, Span}; use rustc_span::source_map::{BytePos, MultiSpan, Span};
use rustc_span::Pos; use rustc_span::Pos;

View file

@ -1,9 +1,9 @@
//! Lint on unnecessary double comparisons. Some examples: //! Lint on unnecessary double comparisons. Some examples:
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -1,8 +1,8 @@
use crate::utils::{match_def_path, paths, span_lint}; use crate::utils::{match_def_path, paths, span_lint};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateLintPass, LintArray, LintPass}; use rustc::lint::{LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,9 +1,9 @@
use crate::utils::{is_copy, match_def_path, paths, qpath_res, span_note_and_lint}; use crate::utils::{is_copy, match_def_path, paths, qpath_res, span_note_and_lint};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,8 +1,8 @@
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Spanned; use rustc_span::source_map::Spanned;

View file

@ -2,8 +2,8 @@
use crate::utils::span_lint_and_then; use crate::utils::span_lint_and_then;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -4,9 +4,9 @@ use crate::utils::{snippet_with_applicability, span_lint_and_then, walk_ptrs_ty}
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor};
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -4,10 +4,10 @@
use crate::consts::{miri_to_const, Constant}; use crate::consts::{miri_to_const, Constant};
use crate::utils::span_lint; use crate::utils::span_lint;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc::ty::util::IntTypeExt; use rustc::ty::util::IntTypeExt;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use std::convert::TryFrom; use std::convert::TryFrom;
use syntax::ast::{IntTy, UintTy}; use syntax::ast::{IntTy, UintTy};

View file

@ -2,9 +2,9 @@
use crate::utils::span_lint; use crate::utils::span_lint;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::def::{DefKind, Res};
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::def::{DefKind, Res};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -1,8 +1,8 @@
use crate::utils::{implements_trait, is_copy, multispan_sugg, snippet, span_lint, span_lint_and_then, SpanlessEq}; use crate::utils::{implements_trait, is_copy, multispan_sugg, snippet, span_lint, span_lint_and_then, SpanlessEq};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,6 +1,6 @@
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -1,10 +1,10 @@
use rustc::hir::intravisit as visit; use rustc::hir::intravisit as visit;
use rustc::hir::HirIdSet;
use rustc::hir::{self, *};
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty::layout::LayoutOf; use rustc::ty::layout::LayoutOf;
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_hir::HirIdSet;
use rustc_hir::{self, *};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use rustc_typeck::expr_use_visitor::*; use rustc_typeck::expr_use_visitor::*;
@ -93,7 +93,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for BoxedLocal {
} }
// TODO: Replace with Map::is_argument(..) when it's fixed // TODO: Replace with Map::is_argument(..) when it's fixed
fn is_argument(map: &hir::map::Map<'_>, id: HirId) -> bool { fn is_argument(map: &rustc::hir::map::Map<'_>, id: HirId) -> bool {
match map.find(id) { match map.find(id) {
Some(Node::Binding(_)) => (), Some(Node::Binding(_)) => (),
_ => return false, _ => return false,

View file

@ -1,10 +1,10 @@
use if_chain::if_chain; use if_chain::if_chain;
use matches::matches; use matches::matches;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use crate::utils::{ use crate::utils::{

View file

@ -2,9 +2,9 @@ use crate::utils::{get_parent_expr, span_lint, span_note_and_lint};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor};
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -2,10 +2,10 @@ use crate::utils::span_lint_and_sugg;
use crate::utils::sugg::format_numeric_literal; use crate::utils::sugg::format_numeric_literal;
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::symbol::Symbol; use rustc_span::symbol::Symbol;
use std::f32; use std::f32;

View file

@ -1,8 +1,8 @@
use crate::utils::{is_entrypoint_fn, match_def_path, paths, qpath_res, span_lint}; use crate::utils::{is_entrypoint_fn, match_def_path, paths, qpath_res, span_lint};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{Expr, ExprKind, Item, ItemKind, Node};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::{Expr, ExprKind, Item, ItemKind, Node};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,9 +1,9 @@
use crate::utils::{is_expn_of, match_function_call, paths, span_lint, span_lint_and_sugg}; use crate::utils::{is_expn_of, match_function_call, paths, span_lint, span_lint_and_sugg};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use syntax::ast::LitKind; use syntax::ast::LitKind;

View file

@ -2,9 +2,9 @@ use crate::utils::paths::{BEGIN_PANIC, BEGIN_PANIC_FMT, FROM_TRAIT, OPTION, RESU
use crate::utils::{is_expn_of, match_def_path, method_chain_args, span_lint_and_then, walk_ptrs_ty}; use crate::utils::{is_expn_of, match_def_path, method_chain_args, span_lint_and_then, walk_ptrs_ty};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::Span; use rustc_span::Span;
@ -48,7 +48,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for FallibleImplFrom {
fn lint_impl_body<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, impl_span: Span, impl_items: &[hir::ImplItemRef<'_>]) { fn lint_impl_body<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, impl_span: Span, impl_items: &[hir::ImplItemRef<'_>]) {
use rustc::hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc::hir::intravisit::{self, NestedVisitorMap, Visitor};
use rustc::hir::*; use rustc_hir::*;
struct FindPanicUnwrap<'a, 'tcx> { struct FindPanicUnwrap<'a, 'tcx> {
lcx: &'a LateContext<'a, 'tcx>, lcx: &'a LateContext<'a, 'tcx>,

View file

@ -5,9 +5,9 @@ use crate::utils::{
}; };
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use syntax::ast::LitKind; use syntax::ast::LitKind;

View file

@ -4,12 +4,14 @@ use crate::utils::{
type_is_unsafe_function, type_is_unsafe_function,
}; };
use matches::matches; use matches::matches;
use rustc::hir::{self, def::Res, def_id::DefId, intravisit}; use rustc::hir::intravisit;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_data_structures::fx::FxHashSet; use rustc_data_structures::fx::FxHashSet;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir as hir;
use rustc_hir::{def::Res, def_id::DefId};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use rustc_target::spec::abi::Abi; use rustc_target::spec::abi::Abi;
@ -199,16 +201,16 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Functions {
}; };
let unsafety = match kind { let unsafety = match kind {
hir::intravisit::FnKind::ItemFn(_, _, hir::FnHeader { unsafety, .. }, _, _) => unsafety, intravisit::FnKind::ItemFn(_, _, hir::FnHeader { unsafety, .. }, _, _) => unsafety,
hir::intravisit::FnKind::Method(_, sig, _, _) => sig.header.unsafety, intravisit::FnKind::Method(_, sig, _, _) => sig.header.unsafety,
hir::intravisit::FnKind::Closure(_) => return, intravisit::FnKind::Closure(_) => return,
}; };
// don't warn for implementations, it's not their fault // don't warn for implementations, it's not their fault
if !is_impl { if !is_impl {
// don't lint extern functions decls, it's not their fault either // don't lint extern functions decls, it's not their fault either
match kind { match kind {
hir::intravisit::FnKind::Method( intravisit::FnKind::Method(
_, _,
&hir::FnSig { &hir::FnSig {
header: hir::FnHeader { abi: Abi::Rust, .. }, header: hir::FnHeader { abi: Abi::Rust, .. },
@ -217,7 +219,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Functions {
_, _,
_, _,
) )
| hir::intravisit::FnKind::ItemFn(_, _, hir::FnHeader { abi: Abi::Rust, .. }, _, _) => { | intravisit::FnKind::ItemFn(_, _, hir::FnHeader { abi: Abi::Rust, .. }, _, _) => {
self.check_arg_number(cx, decl, span.with_hi(decl.output.span().hi())) self.check_arg_number(cx, decl, span.with_hi(decl.output.span().hi()))
}, },
_ => {}, _ => {},
@ -397,7 +399,7 @@ impl<'a, 'tcx> Functions {
tables, tables,
}; };
hir::intravisit::walk_expr(&mut v, expr); intravisit::walk_expr(&mut v, expr);
} }
} }
} }
@ -557,7 +559,7 @@ impl<'a, 'tcx> intravisit::Visitor<'tcx> for DerefVisitor<'a, 'tcx> {
} }
} }
}, },
hir::ExprKind::Unary(hir::UnDeref, ref ptr) => self.check_arg(ptr), hir::ExprKind::Unary(hir::UnOp::UnDeref, ref ptr) => self.check_arg(ptr),
_ => (), _ => (),
} }

View file

@ -3,9 +3,9 @@
use crate::utils::{is_type_diagnostic_item, snippet_with_applicability, span_lint_and_sugg, SpanlessEq}; use crate::utils::{is_type_diagnostic_item, snippet_with_applicability, span_lint_and_sugg, SpanlessEq};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{BinOpKind, Expr, ExprKind};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::{BinOpKind, Expr, ExprKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Spanned; use rustc_span::source_map::Spanned;
use rustc_span::symbol::Symbol; use rustc_span::symbol::Symbol;

View file

@ -1,10 +1,10 @@
use crate::utils::{ use crate::utils::{
match_def_path, match_trait_method, paths, same_tys, snippet, snippet_with_macro_callsite, span_lint_and_then, match_def_path, match_trait_method, paths, same_tys, snippet, snippet_with_macro_callsite, span_lint_and_then,
}; };
use rustc::hir::*;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,7 +1,7 @@
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -6,10 +6,11 @@ use crate::utils::{
use if_chain::if_chain; use if_chain::if_chain;
use rustc::{ use rustc::{
declare_lint_pass, declare_lint_pass,
hir::{intravisit::FnKind, Body, Expr, ExprKind, FnDecl, HirId, MatchSource, StmtKind}, hir::intravisit::FnKind,
lint::{LateContext, LateLintPass, LintArray, LintPass}, lint::{LateContext, LateLintPass, LintArray, LintPass},
}; };
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::{Body, Expr, ExprKind, FnDecl, HirId, MatchSource, StmtKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -5,9 +5,9 @@ use crate::utils;
use crate::utils::higher; use crate::utils::higher;
use crate::utils::higher::Range; use crate::utils::higher::Range;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use syntax::ast::RangeLimits; use syntax::ast::RangeLimits;

View file

@ -1,9 +1,9 @@
use super::utils::{get_arg_name, match_var, remove_blocks, snippet_with_applicability, span_lint_and_sugg}; use super::utils::{get_arg_name, match_var, remove_blocks, snippet_with_applicability, span_lint_and_sugg};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,6 +1,6 @@
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use crate::utils::{get_trait_def_id, higher, implements_trait, match_qpath, match_type, paths, span_lint}; use crate::utils::{get_trait_def_id, higher, implements_trait, match_qpath, match_type, paths, span_lint};

View file

@ -1,10 +1,10 @@
//! lint on inherent implementations //! lint on inherent implementations
use crate::utils::{in_macro, span_lint_and_then}; use crate::utils::{in_macro, span_lint_and_then};
use rustc::hir::*;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::fx::FxHashMap;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::Span; use rustc_span::Span;

View file

@ -1,7 +1,7 @@
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{ImplItem, ImplItemKind};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::{ImplItem, ImplItemKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use crate::utils::{ use crate::utils::{

View file

@ -3,9 +3,9 @@
use crate::utils::span_lint_and_then; use crate::utils::span_lint_and_then;
use crate::utils::sugg::DiagnosticBuilderExt; use crate::utils::sugg::DiagnosticBuilderExt;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use syntax::ast::{Attribute, Name}; use syntax::ast::{Attribute, Name};

View file

@ -1,8 +1,8 @@
use crate::utils::span_help_and_lint; use crate::utils::span_help_and_lint;
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,11 +1,11 @@
//! lint when there is a large size difference between variants on an enum //! lint when there is a large size difference between variants on an enum
use crate::utils::{snippet_opt, span_lint_and_then}; use crate::utils::{snippet_opt, span_lint_and_then};
use rustc::hir::*;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty::layout::LayoutOf; use rustc::ty::layout::LayoutOf;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,8 +1,8 @@
use rustc::hir::*;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::mir::interpret::ConstValue; use rustc::mir::interpret::ConstValue;
use rustc::ty::{self, ConstKind}; use rustc::ty::{self, ConstKind};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use if_chain::if_chain; use if_chain::if_chain;

View file

@ -1,11 +1,11 @@
use crate::utils::{get_item_name, snippet_with_applicability, span_lint, span_lint_and_sugg, walk_ptrs_ty}; use crate::utils::{get_item_name, snippet_with_applicability, span_lint, span_lint_and_sugg, walk_ptrs_ty};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::def_id::DefId;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_data_structures::fx::FxHashSet; use rustc_data_structures::fx::FxHashSet;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::def_id::DefId;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::{Span, Spanned}; use rustc_span::source_map::{Span, Spanned};
use syntax::ast::{LitKind, Name}; use syntax::ast::{LitKind, Name};

View file

@ -1,11 +1,12 @@
use crate::utils::{higher, qpath_res, snippet, span_lint_and_then}; use crate::utils::{higher, qpath_res, snippet, span_lint_and_then};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir; use rustc::hir::intravisit;
use rustc::hir::def::Res;
use rustc::hir::BindingAnnotation;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir as hir;
use rustc_hir::def::Res;
use rustc_hir::BindingAnnotation;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {
@ -142,7 +143,7 @@ struct UsedVisitor<'a, 'tcx> {
used: bool, used: bool,
} }
impl<'a, 'tcx> hir::intravisit::Visitor<'tcx> for UsedVisitor<'a, 'tcx> { impl<'a, 'tcx> intravisit::Visitor<'tcx> for UsedVisitor<'a, 'tcx> {
fn visit_expr(&mut self, expr: &'tcx hir::Expr<'_>) { fn visit_expr(&mut self, expr: &'tcx hir::Expr<'_>) {
if_chain! { if_chain! {
if let hir::ExprKind::Path(ref qpath) = expr.kind; if let hir::ExprKind::Path(ref qpath) = expr.kind;
@ -153,10 +154,10 @@ impl<'a, 'tcx> hir::intravisit::Visitor<'tcx> for UsedVisitor<'a, 'tcx> {
return; return;
} }
} }
hir::intravisit::walk_expr(self, expr); intravisit::walk_expr(self, expr);
} }
fn nested_visit_map<'this>(&'this mut self) -> hir::intravisit::NestedVisitorMap<'this, 'tcx> { fn nested_visit_map<'this>(&'this mut self) -> intravisit::NestedVisitorMap<'this, 'tcx> {
hir::intravisit::NestedVisitorMap::None intravisit::NestedVisitorMap::None
} }
} }
@ -181,7 +182,7 @@ fn check_assign<'a, 'tcx>(
}; };
for s in block.stmts.iter().take(block.stmts.len()-1) { for s in block.stmts.iter().take(block.stmts.len()-1) {
hir::intravisit::walk_stmt(&mut v, s); intravisit::walk_stmt(&mut v, s);
if v.used { if v.used {
return None; return None;
@ -197,6 +198,6 @@ fn check_assign<'a, 'tcx>(
fn used_in_expr<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, id: hir::HirId, expr: &'tcx hir::Expr<'_>) -> bool { fn used_in_expr<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, id: hir::HirId, expr: &'tcx hir::Expr<'_>) -> bool {
let mut v = UsedVisitor { cx, id, used: false }; let mut v = UsedVisitor { cx, id, used: false };
hir::intravisit::walk_expr(&mut v, expr); intravisit::walk_expr(&mut v, expr);
v.used v.used
} }

View file

@ -1,7 +1,7 @@
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use crate::utils::{is_must_use_func_call, is_must_use_ty, span_help_and_lint}; use crate::utils::{is_must_use_func_call, is_must_use_ty, span_help_and_lint};

View file

@ -26,6 +26,8 @@ extern crate rustc_driver;
#[allow(unused_extern_crates)] #[allow(unused_extern_crates)]
extern crate rustc_errors; extern crate rustc_errors;
#[allow(unused_extern_crates)] #[allow(unused_extern_crates)]
extern crate rustc_hir;
#[allow(unused_extern_crates)]
extern crate rustc_index; extern crate rustc_index;
#[allow(unused_extern_crates)] #[allow(unused_extern_crates)]
extern crate rustc_lexer; extern crate rustc_lexer;

View file

@ -1,10 +1,11 @@
use matches::matches; use matches::matches;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::def::{DefKind, Res};
use rustc::hir::intravisit::*; use rustc::hir::intravisit::*;
use rustc::hir::*;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::fx::{FxHashMap, FxHashSet};
use rustc_hir::def::{DefKind, Res};
use rustc_hir::FunctionRetTy::Return;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use rustc_span::symbol::kw; use rustc_span::symbol::kw;

View file

@ -2,12 +2,12 @@ use crate::reexport::*;
use if_chain::if_chain; use if_chain::if_chain;
use itertools::Itertools; use itertools::Itertools;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::def::{DefKind, Res};
use rustc::hir::def_id;
use rustc::hir::intravisit::{walk_block, walk_expr, walk_pat, walk_stmt, NestedVisitorMap, Visitor}; use rustc::hir::intravisit::{walk_block, walk_expr, walk_pat, walk_stmt, NestedVisitorMap, Visitor};
use rustc::hir::*;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc::middle::region; use rustc::middle::region;
use rustc_hir::def::{DefKind, Res};
use rustc_hir::def_id;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
// use rustc::middle::region::CodeExtent; // use rustc::middle::region::CodeExtent;
use crate::consts::{constant, Constant}; use crate::consts::{constant, Constant};

View file

@ -1,6 +1,6 @@
use rustc::hir::{Crate, Expr, ExprKind, QPath};
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::{Crate, Expr, ExprKind, QPath};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::symbol::sym; use rustc_span::symbol::sym;
use syntax::ast::AttrKind; use syntax::ast::AttrKind;

View file

@ -4,10 +4,10 @@ use crate::utils::{
}; };
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use syntax::ast::Ident; use syntax::ast::Ident;

View file

@ -2,10 +2,10 @@ use crate::utils::paths;
use crate::utils::{iter_input_pats, match_type, method_chain_args, snippet, span_lint_and_then}; use crate::utils::{iter_input_pats, match_type, method_chain_args, snippet, span_lint_and_then};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -7,11 +7,11 @@ use crate::utils::{
}; };
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::def::CtorKind;
use rustc::hir::*;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::def::CtorKind;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use std::cmp::Ordering; use std::cmp::Ordering;

View file

@ -1,9 +1,9 @@
use crate::utils::{match_def_path, paths, snippet, span_lint_and_then, walk_ptrs_ty_depth}; use crate::utils::{match_def_path, paths, snippet, span_lint_and_then, walk_ptrs_ty_depth};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{BorrowKind, Expr, ExprKind};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::{BorrowKind, Expr, ExprKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use std::iter; use std::iter;

View file

@ -1,7 +1,7 @@
use crate::utils::{match_def_path, paths, qpath_res, span_lint}; use crate::utils::{match_def_path, paths, qpath_res, span_lint};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{Expr, ExprKind};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::{Expr, ExprKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -4,9 +4,9 @@ use crate::utils::{
}; };
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{BorrowKind, Expr, ExprKind, Mutability, QPath};
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::{BorrowKind, Expr, ExprKind, Mutability, QPath};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -1,10 +1,10 @@
use super::INEFFICIENT_TO_STRING; use super::INEFFICIENT_TO_STRING;
use crate::utils::{match_def_path, paths, snippet_with_applicability, span_lint_and_then, walk_ptrs_ty_depth}; use crate::utils::{match_def_path, paths, snippet_with_applicability, span_lint_and_then, walk_ptrs_ty_depth};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::hir;
use rustc::lint::LateContext; use rustc::lint::LateContext;
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir as hir;
/// Checks for the `INEFFICIENT_TO_STRING` lint /// Checks for the `INEFFICIENT_TO_STRING` lint
pub fn lint<'tcx>(cx: &LateContext<'_, 'tcx>, expr: &hir::Expr<'_>, arg: &hir::Expr<'_>, arg_ty: Ty<'tcx>) { pub fn lint<'tcx>(cx: &LateContext<'_, 'tcx>, expr: &hir::Expr<'_>, arg: &hir::Expr<'_>, arg_ty: Ty<'tcx>) {

View file

@ -1,8 +1,8 @@
use crate::utils::{match_qpath, snippet_with_applicability, span_lint_and_sugg}; use crate::utils::{match_qpath, snippet_with_applicability, span_lint_and_sugg};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::hir;
use rustc::lint::LateContext; use rustc::lint::LateContext;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir as hir;
use rustc_target::abi::LayoutOf; use rustc_target::abi::LayoutOf;
use syntax::ast; use syntax::ast;
@ -146,7 +146,7 @@ fn is_min_or_max<'tcx>(cx: &LateContext<'_, 'tcx>, expr: &hir::Expr<'_>) -> Opti
} }
if ty.is_signed() { if ty.is_signed() {
if let hir::ExprKind::Unary(hir::UnNeg, val) = &expr.kind { if let hir::ExprKind::Unary(hir::UnOp::UnNeg, val) = &expr.kind {
return check_lit(val, true); return check_lit(val, true);
} }
} }
@ -161,7 +161,7 @@ enum Sign {
} }
fn lit_sign(expr: &hir::Expr<'_>) -> Option<Sign> { fn lit_sign(expr: &hir::Expr<'_>) -> Option<Sign> {
if let hir::ExprKind::Unary(hir::UnNeg, inner) = &expr.kind { if let hir::ExprKind::Unary(hir::UnOp::UnNeg, inner) = &expr.kind {
if let hir::ExprKind::Lit(..) = &inner.kind { if let hir::ExprKind::Lit(..) = &inner.kind {
return Some(Sign::Neg); return Some(Sign::Neg);
} }

View file

@ -10,11 +10,11 @@ use std::iter;
use if_chain::if_chain; use if_chain::if_chain;
use matches::matches; use matches::matches;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::hir::intravisit::{self, Visitor}; use rustc::hir::intravisit::{self, Visitor};
use rustc::lint::{in_external_macro, LateContext, LateLintPass, Lint, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, Lint, LintArray, LintContext, LintPass};
use rustc::ty::{self, Predicate, Ty}; use rustc::ty::{self, Predicate, Ty};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use rustc_span::symbol::{sym, Symbol, SymbolStr}; use rustc_span::symbol::{sym, Symbol, SymbolStr};
@ -3163,11 +3163,11 @@ impl OutType {
fn matches(self, cx: &LateContext<'_, '_>, ty: &hir::FunctionRetTy<'_>) -> bool { fn matches(self, cx: &LateContext<'_, '_>, ty: &hir::FunctionRetTy<'_>) -> bool {
let is_unit = |ty: &hir::Ty<'_>| SpanlessEq::new(cx).eq_ty_kind(&ty.kind, &hir::TyKind::Tup(&[])); let is_unit = |ty: &hir::Ty<'_>| SpanlessEq::new(cx).eq_ty_kind(&ty.kind, &hir::TyKind::Tup(&[]));
match (self, ty) { match (self, ty) {
(Self::Unit, &hir::DefaultReturn(_)) => true, (Self::Unit, &hir::FunctionRetTy::DefaultReturn(_)) => true,
(Self::Unit, &hir::Return(ref ty)) if is_unit(ty) => true, (Self::Unit, &hir::FunctionRetTy::Return(ref ty)) if is_unit(ty) => true,
(Self::Bool, &hir::Return(ref ty)) if is_bool(ty) => true, (Self::Bool, &hir::FunctionRetTy::Return(ref ty)) if is_bool(ty) => true,
(Self::Any, &hir::Return(ref ty)) if !is_unit(ty) => true, (Self::Any, &hir::FunctionRetTy::Return(ref ty)) if !is_unit(ty) => true,
(Self::Ref, &hir::Return(ref ty)) => matches!(ty.kind, hir::TyKind::Rptr(_, _)), (Self::Ref, &hir::FunctionRetTy::Return(ref ty)) => matches!(ty.kind, hir::TyKind::Rptr(_, _)),
_ => false, _ => false,
} }
} }

View file

@ -1,10 +1,10 @@
use crate::utils::{differing_macro_contexts, paths, snippet_with_applicability, span_lint_and_then}; use crate::utils::{differing_macro_contexts, paths, snippet_with_applicability, span_lint_and_then};
use crate::utils::{is_copy, match_type}; use crate::utils::{is_copy, match_type};
use rustc::hir::intravisit::{walk_path, NestedVisitorMap, Visitor}; use rustc::hir::intravisit::{walk_path, NestedVisitorMap, Visitor};
use rustc::hir::{self, *};
use rustc::lint::LateContext; use rustc::lint::LateContext;
use rustc_data_structures::fx::FxHashSet; use rustc_data_structures::fx::FxHashSet;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::{self, *};
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use rustc_span::symbol::Symbol; use rustc_span::symbol::Symbol;
@ -13,9 +13,9 @@ use super::OPTION_MAP_UNWRAP_OR;
/// lint use of `map().unwrap_or()` for `Option`s /// lint use of `map().unwrap_or()` for `Option`s
pub(super) fn lint<'a, 'tcx>( pub(super) fn lint<'a, 'tcx>(
cx: &LateContext<'a, 'tcx>, cx: &LateContext<'a, 'tcx>,
expr: &hir::Expr<'_>, expr: &rustc_hir::Expr<'_>,
map_args: &'tcx [hir::Expr<'_>], map_args: &'tcx [rustc_hir::Expr<'_>],
unwrap_args: &'tcx [hir::Expr<'_>], unwrap_args: &'tcx [rustc_hir::Expr<'_>],
map_span: Span, map_span: Span,
) { ) {
// lint if the caller of `map()` is an `Option` // lint if the caller of `map()` is an `Option`

View file

@ -1,10 +1,10 @@
use crate::utils::paths; use crate::utils::paths;
use crate::utils::usage::mutated_variables; use crate::utils::usage::mutated_variables;
use crate::utils::{match_qpath, match_trait_method, span_lint}; use crate::utils::{match_qpath, match_trait_method, span_lint};
use rustc::hir;
use rustc::hir::def::Res;
use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor};
use rustc::lint::LateContext; use rustc::lint::LateContext;
use rustc_hir as hir;
use rustc_hir::def::Res;
use if_chain::if_chain; use if_chain::if_chain;

View file

@ -1,8 +1,8 @@
use crate::consts::{constant_simple, Constant}; use crate::consts::{constant_simple, Constant};
use crate::utils::{match_def_path, paths, span_lint}; use crate::utils::{match_def_path, paths, span_lint};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use std::cmp::Ordering; use std::cmp::Ordering;

View file

@ -2,10 +2,10 @@ use if_chain::if_chain;
use matches::matches; use matches::matches;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::intravisit::FnKind; use rustc::hir::intravisit::FnKind;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::{ExpnKind, Span}; use rustc_span::source_map::{ExpnKind, Span};
use syntax::ast::LitKind; use syntax::ast::LitKind;
@ -482,7 +482,7 @@ fn is_allowed<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_>) -> boo
// Return true if `expr` is the result of `signum()` invoked on a float value. // Return true if `expr` is the result of `signum()` invoked on a float value.
fn is_signum(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool { fn is_signum(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool {
// The negation of a signum is still a signum // The negation of a signum is still a signum
if let ExprKind::Unary(UnNeg, ref child_expr) = expr.kind { if let ExprKind::Unary(UnOp::UnNeg, ref child_expr) = expr.kind {
return is_signum(cx, &child_expr); return is_signum(cx, &child_expr);
} }
@ -544,7 +544,7 @@ fn check_to_owned(cx: &LateContext<'_, '_>, expr: &Expr<'_>, other: &Expr<'_>) {
} }
let other_gets_derefed = match other.kind { let other_gets_derefed = match other.kind {
ExprKind::Unary(UnDeref, _) => true, ExprKind::Unary(UnOp::UnDeref, _) => true,
_ => false, _ => false,
}; };

View file

@ -1,9 +1,9 @@
use crate::utils::{has_drop, is_entrypoint_fn, span_lint, trait_ref_of_method}; use crate::utils::{has_drop, is_entrypoint_fn, span_lint, trait_ref_of_method};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::hir::intravisit::FnKind; use rustc::hir::intravisit::FnKind;
use rustc::hir::{Body, Constness, FnDecl, HirId};
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir as hir;
use rustc_hir::{Body, Constness, FnDecl, HirId};
use rustc_mir::transform::qualify_min_const_fn::is_min_const_fn; use rustc_mir::transform::qualify_min_const_fn::is_min_const_fn;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::Span; use rustc_span::Span;

View file

@ -7,10 +7,10 @@
use crate::utils::span_lint; use crate::utils::span_lint;
use if_chain::if_chain; use if_chain::if_chain;
use rustc::hir;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc::ty; use rustc::ty;
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use syntax::ast::{self, MetaItem, MetaItemKind}; use syntax::ast::{self, MetaItem, MetaItemKind};

View file

@ -1,7 +1,7 @@
use crate::utils::span_lint; use crate::utils::span_lint;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::lint::{self, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{self, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use syntax::ast; use syntax::ast;

View file

@ -2,9 +2,9 @@ use crate::consts::{constant, Constant};
use crate::utils::{sext, span_lint_and_then}; use crate::utils::{sext, span_lint_and_then};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty::{self}; use rustc::ty::{self};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use std::fmt::Display; use std::fmt::Display;

View file

@ -1,7 +1,7 @@
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use crate::utils::*; use crate::utils::*;

View file

@ -1,8 +1,8 @@
use crate::utils::{match_def_path, paths, span_lint, trait_ref_of_method, walk_ptrs_ty}; use crate::utils::{match_def_path, paths, span_lint, trait_ref_of_method, walk_ptrs_ty};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty::{Adt, Dynamic, Opaque, Param, RawPtr, Ref, Ty, TypeAndMut}; use rustc::ty::{Adt, Dynamic, Opaque, Param, RawPtr, Ref, Ty, TypeAndMut};
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -1,9 +1,9 @@
use crate::utils::{higher, span_lint}; use crate::utils::{higher, span_lint};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir;
use rustc::hir::intravisit; use rustc::hir::intravisit;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc::ty; use rustc::ty;
use rustc_hir as hir;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,9 +1,9 @@
use crate::utils::span_lint; use crate::utils::span_lint;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty::subst::Subst; use rustc::ty::subst::Subst;
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -2,9 +2,9 @@ use crate::utils::{is_direct_expn_of, span_lint};
use if_chain::if_chain; use if_chain::if_chain;
use matches::matches; use matches::matches;
use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor};
use rustc::hir::{BorrowKind, Expr, ExprKind, Mutability, StmtKind, UnOp};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::{declare_lint_pass, ty}; use rustc::{declare_lint_pass, ty};
use rustc_hir::{BorrowKind, Expr, ExprKind, Mutability, StmtKind, UnOp};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::Span; use rustc_span::Span;

View file

@ -4,9 +4,9 @@
use crate::utils::{match_type, paths, span_lint}; use crate::utils::{match_type, paths, span_lint};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::Expr;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_hir::Expr;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use syntax::ast; use syntax::ast;

View file

@ -5,9 +5,9 @@
use crate::utils::sugg::Sugg; use crate::utils::sugg::Sugg;
use crate::utils::{higher, parent_node_is_if_expr, span_lint, span_lint_and_sugg}; use crate::utils::{higher, parent_node_is_if_expr, span_lint, span_lint_and_sugg};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Spanned; use rustc_span::source_map::Spanned;
use syntax::ast::LitKind; use syntax::ast::LitKind;

View file

@ -4,12 +4,12 @@
use crate::utils::{snippet_opt, span_lint_and_then}; use crate::utils::{snippet_opt, span_lint_and_then};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::hir::{BindingAnnotation, BorrowKind, Expr, ExprKind, HirId, Item, Mutability, Pat, PatKind};
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc::ty::adjustment::{Adjust, Adjustment}; use rustc::ty::adjustment::{Adjust, Adjustment};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::{BindingAnnotation, BorrowKind, Expr, ExprKind, HirId, Item, Mutability, Pat, PatKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -5,9 +5,9 @@
use crate::utils::{snippet_with_applicability, span_lint_and_then}; use crate::utils::{snippet_with_applicability, span_lint_and_then};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{BindingAnnotation, Mutability, Node, Pat, PatKind};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::{BindingAnnotation, Mutability, Node, Pat, PatKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -7,12 +7,12 @@ use if_chain::if_chain;
use matches::matches; use matches::matches;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::intravisit::FnKind; use rustc::hir::intravisit::FnKind;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::traits; use rustc::traits;
use rustc::ty::{self, RegionKind, TypeFoldable}; use rustc::ty::{self, RegionKind, TypeFoldable};
use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::fx::{FxHashMap, FxHashSet};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::{Span, Symbol}; use rustc_span::{Span, Symbol};
use rustc_target::spec::abi::Abi; use rustc_target::spec::abi::Abi;

View file

@ -1,8 +1,8 @@
use crate::utils::span_lint; use crate::utils::span_lint;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{Expr, ExprKind};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_hir::{Expr, ExprKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,7 +1,7 @@
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use crate::utils::{self, paths, span_lint}; use crate::utils::{self, paths, span_lint};

View file

@ -1,7 +1,7 @@
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
@ -33,8 +33,8 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NegMultiply {
if BinOpKind::Mul == op.node { if BinOpKind::Mul == op.node {
match (&left.kind, &right.kind) { match (&left.kind, &right.kind) {
(&ExprKind::Unary(..), &ExprKind::Unary(..)) => {}, (&ExprKind::Unary(..), &ExprKind::Unary(..)) => {},
(&ExprKind::Unary(UnNeg, ref lit), _) => check_mul(cx, e.span, lit, right), (&ExprKind::Unary(UnOp::UnNeg, ref lit), _) => check_mul(cx, e.span, lit, right),
(_, &ExprKind::Unary(UnNeg, ref lit)) => check_mul(cx, e.span, lit, left), (_, &ExprKind::Unary(UnOp::UnNeg, ref lit)) => check_mul(cx, e.span, lit, left),
_ => {}, _ => {},
} }
} }

View file

@ -2,13 +2,13 @@ use crate::utils::paths;
use crate::utils::sugg::DiagnosticBuilderExt; use crate::utils::sugg::DiagnosticBuilderExt;
use crate::utils::{get_trait_def_id, implements_trait, return_ty, same_tys, span_lint_hir_and_then}; use crate::utils::{get_trait_def_id, implements_trait, return_ty, same_tys, span_lint_hir_and_then};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::hir;
use rustc::hir::def_id::DefId;
use rustc::hir::HirIdSet;
use rustc::impl_lint_pass; use rustc::impl_lint_pass;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass}; use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc::ty::{self, Ty}; use rustc::ty::{self, Ty};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir as hir;
use rustc_hir::def_id::DefId;
use rustc_hir::HirIdSet;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;

View file

@ -1,9 +1,9 @@
use crate::utils::{has_drop, qpath_res, snippet_opt, span_lint, span_lint_and_sugg}; use crate::utils::{has_drop, qpath_res, snippet_opt, span_lint, span_lint_and_sugg};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::def::{DefKind, Res};
use rustc::hir::{BinOpKind, BlockCheckMode, Expr, ExprKind, Stmt, StmtKind, UnsafeSource};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::def::{DefKind, Res};
use rustc_hir::{BinOpKind, BlockCheckMode, Expr, ExprKind, Stmt, StmtKind, UnsafeSource};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use std::ops::Deref; use std::ops::Deref;

View file

@ -5,11 +5,11 @@
use std::ptr; use std::ptr;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::def::{DefKind, Res};
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, Lint, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, Lint, LintArray, LintPass};
use rustc::ty::adjustment::Adjust; use rustc::ty::adjustment::Adjust;
use rustc::ty::{Ty, TypeFlags}; use rustc::ty::{Ty, TypeFlags};
use rustc_hir::def::{DefKind, Res};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::{InnerSpan, Span, DUMMY_SP}; use rustc_span::{InnerSpan, Span, DUMMY_SP};
use rustc_typeck::hir_ty_to_ty; use rustc_typeck::hir_ty_to_ty;
@ -222,7 +222,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NonCopyConst {
needs_check_adjustment = false; needs_check_adjustment = false;
break; break;
}, },
ExprKind::Unary(UnDeref, _) => { ExprKind::Unary(UnOp::UnDeref, _) => {
// `*e` => desugared to `*Deref::deref(&e)`, // `*e` => desugared to `*Deref::deref(&e)`,
// meaning `e` must be referenced. // meaning `e` must be referenced.
// no need to go further up since a method call is involved now. // no need to go further up since a method call is involved now.

View file

@ -1,8 +1,8 @@
use crate::utils::{match_type, method_chain_args, paths, snippet, span_help_and_lint}; use crate::utils::{match_type, method_chain_args, paths, snippet, span_help_and_lint};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,7 +1,7 @@
use crate::utils::{match_type, paths, span_lint, walk_ptrs_ty}; use crate::utils::{match_type, paths, span_lint, walk_ptrs_ty};
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{Expr, ExprKind};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::{Expr, ExprKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::{Span, Spanned}; use rustc_span::source_map::{Span, Spanned};
use syntax::ast::LitKind; use syntax::ast::LitKind;

View file

@ -1,8 +1,8 @@
use crate::utils::{span_lint, SpanlessEq}; use crate::utils::{span_lint, SpanlessEq};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,8 +1,8 @@
use crate::utils::{is_direct_expn_of, is_expn_of, match_function_call, paths, span_lint}; use crate::utils::{is_direct_expn_of, is_expn_of, match_function_call, paths, span_lint};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::Span; use rustc_span::Span;
use syntax::ast::LitKind; use syntax::ast::LitKind;

View file

@ -1,8 +1,8 @@
use crate::utils::{is_automatically_derived, span_lint_hir}; use crate::utils::{is_automatically_derived, span_lint_hir};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
declare_clippy_lint! { declare_clippy_lint! {

View file

@ -1,9 +1,9 @@
use crate::utils::{match_type, paths, span_lint_and_sugg, walk_ptrs_ty}; use crate::utils::{match_type, paths, span_lint_and_sugg, walk_ptrs_ty};
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use std::path::{Component, Path}; use std::path::{Component, Path};
use syntax::ast::LitKind; use syntax::ast::LitKind;

View file

@ -7,11 +7,11 @@ use crate::utils::{
}; };
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::QPath;
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc::ty; use rustc::ty;
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::QPath;
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use rustc_span::source_map::Span; use rustc_span::source_map::Span;
use rustc_span::{MultiSpan, Symbol}; use rustc_span::{MultiSpan, Symbol};

View file

@ -1,8 +1,8 @@
use crate::utils; use crate::utils;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::{Expr, ExprKind};
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::{Expr, ExprKind};
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use std::fmt; use std::fmt;

View file

@ -1,9 +1,9 @@
use if_chain::if_chain; use if_chain::if_chain;
use rustc::declare_lint_pass; use rustc::declare_lint_pass;
use rustc::hir::def::{DefKind, Res};
use rustc::hir::*;
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
use rustc_errors::Applicability; use rustc_errors::Applicability;
use rustc_hir::def::{DefKind, Res};
use rustc_hir::*;
use rustc_session::declare_tool_lint; use rustc_session::declare_tool_lint;
use crate::utils::paths::*; use crate::utils::paths::*;

Some files were not shown because too many files have changed in this diff Show more