diff --git a/clippy_lints/Cargo.toml b/clippy_lints/Cargo.toml index 3015dc40685..5c3af20bde8 100644 --- a/clippy_lints/Cargo.toml +++ b/clippy_lints/Cargo.toml @@ -21,8 +21,8 @@ edition = "2018" [dependencies] cargo_metadata = "0.5" itertools = "0.7" -lazy_static = "1.0" -matches = "0.1.2" +lazy_static = "1.0.2" +matches = "0.1.7" quine-mc_cluskey = "0.2.2" regex-syntax = "0.6" semver = "0.9.0" @@ -32,7 +32,7 @@ toml = "0.4" unicode-normalization = "0.1" pulldown-cmark = "0.1" url = "1.7.0" -if_chain = "0.1" +if_chain = "0.1.3" [features] debugging = [] diff --git a/clippy_lints/src/approx_const.rs b/clippy_lints/src/approx_const.rs index 13e1dbe3c0a..b9de43762e0 100644 --- a/clippy_lints/src/approx_const.rs +++ b/clippy_lints/src/approx_const.rs @@ -1,6 +1,7 @@ use crate::utils::span_lint; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use std::f64::consts as f64; use syntax::ast::{FloatTy, Lit, LitKind}; use syntax::symbol; diff --git a/clippy_lints/src/arithmetic.rs b/clippy_lints/src/arithmetic.rs index 0ab7a338863..b3d78d2d13f 100644 --- a/clippy_lints/src/arithmetic.rs +++ b/clippy_lints/src/arithmetic.rs @@ -1,6 +1,7 @@ use crate::utils::span_lint; use rustc::hir; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::codemap::Span; /// **What it does:** Checks for plain integer arithmetic. diff --git a/clippy_lints/src/assign_ops.rs b/clippy_lints/src/assign_ops.rs index 272b6c5a84d..c2d0ccd1534 100644 --- a/clippy_lints/src/assign_ops.rs +++ b/clippy_lints/src/assign_ops.rs @@ -3,6 +3,8 @@ use crate::utils::{higher, sugg}; use rustc::hir; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use syntax::ast; /// **What it does:** Checks for compound assignment operations (`+=` and diff --git a/clippy_lints/src/attrs.rs b/clippy_lints/src/attrs.rs index 367968cfe65..6d4d333a8cb 100644 --- a/clippy_lints/src/attrs.rs +++ b/clippy_lints/src/attrs.rs @@ -7,6 +7,8 @@ use crate::utils::{ }; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::{self, TyCtxt}; use semver::Version; use syntax::ast::{AttrStyle, Attribute, Lit, LitKind, MetaItemKind, NestedMetaItem, NestedMetaItemKind}; diff --git a/clippy_lints/src/bit_mask.rs b/clippy_lints/src/bit_mask.rs index 25d5e4d4db1..2e4e60c412a 100644 --- a/clippy_lints/src/bit_mask.rs +++ b/clippy_lints/src/bit_mask.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use syntax::ast::LitKind; use syntax::codemap::Span; use crate::utils::{span_lint, span_lint_and_then}; diff --git a/clippy_lints/src/blacklisted_name.rs b/clippy_lints/src/blacklisted_name.rs index 29660399233..cfec01d14ae 100644 --- a/clippy_lints/src/blacklisted_name.rs +++ b/clippy_lints/src/blacklisted_name.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use crate::utils::span_lint; diff --git a/clippy_lints/src/block_in_if_condition.rs b/clippy_lints/src/block_in_if_condition.rs index 94e17290b6a..f57a3571b57 100644 --- a/clippy_lints/src/block_in_if_condition.rs +++ b/clippy_lints/src/block_in_if_condition.rs @@ -1,4 +1,6 @@ +use matches::matches; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use crate::utils::*; diff --git a/clippy_lints/src/booleans.rs b/clippy_lints/src/booleans.rs index e23978ebc1d..7d627f49836 100644 --- a/clippy_lints/src/booleans.rs +++ b/clippy_lints/src/booleans.rs @@ -1,4 +1,5 @@ use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use rustc::hir::intravisit::*; use syntax::ast::{LitKind, NodeId, DUMMY_NODE_ID}; diff --git a/clippy_lints/src/bytecount.rs b/clippy_lints/src/bytecount.rs index aaa924e95b1..f66c376c864 100644 --- a/clippy_lints/src/bytecount.rs +++ b/clippy_lints/src/bytecount.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty; use syntax::ast::{Name, UintTy}; use crate::utils::{contains_name, get_pat_name, match_type, paths, single_segment_path, snippet, span_lint_and_sugg, diff --git a/clippy_lints/src/collapsible_if.rs b/clippy_lints/src/collapsible_if.rs index 786148f6eec..b7793519602 100644 --- a/clippy_lints/src/collapsible_if.rs +++ b/clippy_lints/src/collapsible_if.rs @@ -13,6 +13,8 @@ //! This lint is **warn** by default use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use syntax::ast; use crate::utils::{in_macro, snippet_block, span_lint_and_sugg, span_lint_and_then}; diff --git a/clippy_lints/src/const_static_lifetime.rs b/clippy_lints/src/const_static_lifetime.rs index bde5ee4dc8b..8bb209a6490 100644 --- a/clippy_lints/src/const_static_lifetime.rs +++ b/clippy_lints/src/const_static_lifetime.rs @@ -1,5 +1,6 @@ use syntax::ast::*; use rustc::lint::{EarlyContext, EarlyLintPass, LintArray, LintPass}; +use rustc::{declare_lint, lint_array}; use crate::utils::{in_macro, snippet, span_lint_and_then}; /// **What it does:** Checks for constants with an explicit `'static` lifetime. diff --git a/clippy_lints/src/consts.rs b/clippy_lints/src/consts.rs index d7323337f24..878ad276343 100644 --- a/clippy_lints/src/consts.rs +++ b/clippy_lints/src/consts.rs @@ -2,6 +2,7 @@ #![allow(float_cmp)] use rustc::lint::LateContext; +use rustc::{span_bug, bug}; use rustc::hir::def::Def; use rustc::hir::*; use rustc::ty::{self, Ty, TyCtxt, Instance}; diff --git a/clippy_lints/src/copies.rs b/clippy_lints/src/copies.rs index 9e9a641ce27..c0830c5ea31 100644 --- a/clippy_lints/src/copies.rs +++ b/clippy_lints/src/copies.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::ty::Ty; use rustc::hir::*; use std::collections::HashMap; diff --git a/clippy_lints/src/cyclomatic_complexity.rs b/clippy_lints/src/cyclomatic_complexity.rs index b1b667d046c..c397ca7824e 100644 --- a/clippy_lints/src/cyclomatic_complexity.rs +++ b/clippy_lints/src/cyclomatic_complexity.rs @@ -2,6 +2,7 @@ use rustc::cfg::CFG; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use rustc::ty; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; diff --git a/clippy_lints/src/default_trait_access.rs b/clippy_lints/src/default_trait_access.rs index 900dabc9650..4078237e8aa 100644 --- a/clippy_lints/src/default_trait_access.rs +++ b/clippy_lints/src/default_trait_access.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::TypeVariants; use crate::utils::{any_parent_is_automatically_derived, match_def_path, opt_def_id, paths, span_lint_and_sugg}; diff --git a/clippy_lints/src/derive.rs b/clippy_lints/src/derive.rs index 0d0eb27fb7d..0689ef25c20 100644 --- a/clippy_lints/src/derive.rs +++ b/clippy_lints/src/derive.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::{self, Ty}; use rustc::hir::*; use syntax::codemap::Span; diff --git a/clippy_lints/src/doc.rs b/clippy_lints/src/doc.rs index dfd59af9adb..a298137976b 100644 --- a/clippy_lints/src/doc.rs +++ b/clippy_lints/src/doc.rs @@ -1,6 +1,7 @@ use itertools::Itertools; use pulldown_cmark; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast; use syntax::codemap::{BytePos, Span}; use syntax_pos::Pos; diff --git a/clippy_lints/src/double_comparison.rs b/clippy_lints/src/double_comparison.rs index e2ea5723a98..434ccb69921 100644 --- a/clippy_lints/src/double_comparison.rs +++ b/clippy_lints/src/double_comparison.rs @@ -2,6 +2,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::codemap::Span; use crate::utils::{snippet, span_lint_and_sugg, SpanlessEq}; diff --git a/clippy_lints/src/double_parens.rs b/clippy_lints/src/double_parens.rs index 2b81e1db257..2617eab0aa7 100644 --- a/clippy_lints/src/double_parens.rs +++ b/clippy_lints/src/double_parens.rs @@ -1,5 +1,6 @@ use syntax::ast::*; use rustc::lint::{EarlyContext, EarlyLintPass, LintArray, LintContext, LintPass}; +use rustc::{declare_lint, lint_array}; /// **What it does:** Checks for unnecessary double parentheses. /// diff --git a/clippy_lints/src/drop_forget_ref.rs b/clippy_lints/src/drop_forget_ref.rs index b0625e10d76..071afde986a 100644 --- a/clippy_lints/src/drop_forget_ref.rs +++ b/clippy_lints/src/drop_forget_ref.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty; use rustc::hir::*; use crate::utils::{is_copy, match_def_path, opt_def_id, paths, span_note_and_lint}; diff --git a/clippy_lints/src/duration_subsec.rs b/clippy_lints/src/duration_subsec.rs index d374973e35b..517befa7790 100644 --- a/clippy_lints/src/duration_subsec.rs +++ b/clippy_lints/src/duration_subsec.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use syntax::codemap::Spanned; use crate::consts::{constant, Constant}; diff --git a/clippy_lints/src/else_if_without_else.rs b/clippy_lints/src/else_if_without_else.rs index 96c215df405..b8406904821 100644 --- a/clippy_lints/src/else_if_without_else.rs +++ b/clippy_lints/src/else_if_without_else.rs @@ -1,6 +1,7 @@ //! lint on if expressions with an else if, but without a final else branch use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast::*; use crate::utils::{in_external_macro, span_lint_and_sugg}; diff --git a/clippy_lints/src/empty_enum.rs b/clippy_lints/src/empty_enum.rs index 1ca32cf2263..803ba34a865 100644 --- a/clippy_lints/src/empty_enum.rs +++ b/clippy_lints/src/empty_enum.rs @@ -1,6 +1,7 @@ //! lint when there is an enum with no variants use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use crate::utils::span_lint_and_then; diff --git a/clippy_lints/src/entry.rs b/clippy_lints/src/entry.rs index f29c2d1bb6d..26ee6be5796 100644 --- a/clippy_lints/src/entry.rs +++ b/clippy_lints/src/entry.rs @@ -1,6 +1,8 @@ use rustc::hir::*; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use syntax::codemap::Span; use crate::utils::SpanlessEq; use crate::utils::{get_item_name, match_type, paths, snippet, span_lint_and_then, walk_ptrs_ty}; diff --git a/clippy_lints/src/enum_clike.rs b/clippy_lints/src/enum_clike.rs index 6584bc6ffa9..62cbead1929 100644 --- a/clippy_lints/src/enum_clike.rs +++ b/clippy_lints/src/enum_clike.rs @@ -2,6 +2,7 @@ //! don't fit into an `i32` use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use rustc::ty; use rustc::ty::subst::Substs; diff --git a/clippy_lints/src/enum_glob_use.rs b/clippy_lints/src/enum_glob_use.rs index 042a96a21c8..10cf497725c 100644 --- a/clippy_lints/src/enum_glob_use.rs +++ b/clippy_lints/src/enum_glob_use.rs @@ -3,6 +3,7 @@ use rustc::hir::*; use rustc::hir::def::Def; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; +use rustc::{declare_lint, lint_array}; use syntax::ast::NodeId; use syntax::codemap::Span; use crate::utils::span_lint; diff --git a/clippy_lints/src/enum_variants.rs b/clippy_lints/src/enum_variants.rs index d272cab0a0d..6a14638057a 100644 --- a/clippy_lints/src/enum_variants.rs +++ b/clippy_lints/src/enum_variants.rs @@ -1,6 +1,7 @@ //! lint on enum variants that are prefixed or suffixed by the same characters use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast::*; use syntax::codemap::Span; use syntax::symbol::LocalInternedString; diff --git a/clippy_lints/src/eq_op.rs b/clippy_lints/src/eq_op.rs index f58b499d806..dfbc3b12633 100644 --- a/clippy_lints/src/eq_op.rs +++ b/clippy_lints/src/eq_op.rs @@ -1,5 +1,6 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use crate::utils::{in_macro, implements_trait, is_copy, multispan_sugg, snippet, span_lint, span_lint_and_then, SpanlessEq}; /// **What it does:** Checks for equal operands to comparison, logical and diff --git a/clippy_lints/src/erasing_op.rs b/clippy_lints/src/erasing_op.rs index acede5d1a13..102769a375e 100644 --- a/clippy_lints/src/erasing_op.rs +++ b/clippy_lints/src/erasing_op.rs @@ -1,6 +1,7 @@ use crate::consts::{constant_simple, Constant}; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::codemap::Span; use crate::utils::{in_macro, span_lint}; diff --git a/clippy_lints/src/escape.rs b/clippy_lints/src/escape.rs index a03dc7b6269..ff5c85b6009 100644 --- a/clippy_lints/src/escape.rs +++ b/clippy_lints/src/escape.rs @@ -2,6 +2,7 @@ use rustc::hir::*; use rustc::hir::intravisit as visit; use rustc::hir::map::Node::{NodeExpr, NodeStmt}; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::middle::expr_use_visitor::*; use rustc::middle::mem_categorization::{cmt_, Categorization}; use rustc::ty::{self, Ty}; diff --git a/clippy_lints/src/eta_reduction.rs b/clippy_lints/src/eta_reduction.rs index 87f0e64caaf..7b6623ed29b 100644 --- a/clippy_lints/src/eta_reduction.rs +++ b/clippy_lints/src/eta_reduction.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::ty; use rustc::hir::*; use crate::utils::{is_adjusted, iter_input_pats, snippet_opt, span_lint_and_then}; diff --git a/clippy_lints/src/eval_order_dependence.rs b/clippy_lints/src/eval_order_dependence.rs index 58436bd897b..b0295d2e7d4 100644 --- a/clippy_lints/src/eval_order_dependence.rs +++ b/clippy_lints/src/eval_order_dependence.rs @@ -2,6 +2,8 @@ use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use rustc::hir::*; use rustc::ty; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use syntax::ast; use crate::utils::{get_parent_expr, span_lint, span_note_and_lint}; diff --git a/clippy_lints/src/excessive_precision.rs b/clippy_lints/src/excessive_precision.rs index 24bbf669205..28819077f9b 100644 --- a/clippy_lints/src/excessive_precision.rs +++ b/clippy_lints/src/excessive_precision.rs @@ -1,5 +1,7 @@ use rustc::hir; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::TypeVariants; use std::f32; use std::f64; diff --git a/clippy_lints/src/explicit_write.rs b/clippy_lints/src/explicit_write.rs index 019d21f81e0..22e6834ee88 100644 --- a/clippy_lints/src/explicit_write.rs +++ b/clippy_lints/src/explicit_write.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use crate::utils::{is_expn_of, match_def_path, resolve_node, span_lint}; use crate::utils::opt_def_id; diff --git a/clippy_lints/src/fallible_impl_from.rs b/clippy_lints/src/fallible_impl_from.rs index 1ea000d3611..18c3d807f1a 100644 --- a/clippy_lints/src/fallible_impl_from.rs +++ b/clippy_lints/src/fallible_impl_from.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir; use rustc::ty; use syntax_pos::Span; diff --git a/clippy_lints/src/format.rs b/clippy_lints/src/format.rs index e88f0386893..668ef3dbf6e 100644 --- a/clippy_lints/src/format.rs +++ b/clippy_lints/src/format.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty; use syntax::ast::LitKind; use syntax_pos::Span; diff --git a/clippy_lints/src/formatting.rs b/clippy_lints/src/formatting.rs index 8008bb3ed66..784461c23ee 100644 --- a/clippy_lints/src/formatting.rs +++ b/clippy_lints/src/formatting.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast; use crate::utils::{differing_macro_contexts, in_macro, snippet_opt, span_note_and_lint}; use syntax::ptr::P; diff --git a/clippy_lints/src/functions.rs b/clippy_lints/src/functions.rs index 16438092315..d9f50d652d3 100644 --- a/clippy_lints/src/functions.rs +++ b/clippy_lints/src/functions.rs @@ -1,6 +1,8 @@ +use matches::matches; use rustc::hir::intravisit; use rustc::hir; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::ty; use rustc::hir::def::Def; use std::collections::HashSet; diff --git a/clippy_lints/src/identity_conversion.rs b/clippy_lints/src/identity_conversion.rs index 32ae8bcb29f..a0705f62544 100644 --- a/clippy_lints/src/identity_conversion.rs +++ b/clippy_lints/src/identity_conversion.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use syntax::ast::NodeId; use crate::utils::{in_macro, match_def_path, match_trait_method, same_tys, snippet, span_lint_and_then}; diff --git a/clippy_lints/src/identity_op.rs b/clippy_lints/src/identity_op.rs index 92e07401818..3a8a366890a 100644 --- a/clippy_lints/src/identity_op.rs +++ b/clippy_lints/src/identity_op.rs @@ -1,6 +1,7 @@ use crate::consts::{constant_simple, Constant}; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::codemap::Span; use crate::utils::{in_macro, snippet, span_lint, unsext, clip}; use rustc::ty; diff --git a/clippy_lints/src/if_let_redundant_pattern_matching.rs b/clippy_lints/src/if_let_redundant_pattern_matching.rs index 17dcf571fbf..bc97584a23d 100644 --- a/clippy_lints/src/if_let_redundant_pattern_matching.rs +++ b/clippy_lints/src/if_let_redundant_pattern_matching.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use crate::utils::{match_qpath, paths, snippet, span_lint_and_then}; diff --git a/clippy_lints/src/if_not_else.rs b/clippy_lints/src/if_not_else.rs index 22ca1a61c9b..eea83ca6b88 100644 --- a/clippy_lints/src/if_not_else.rs +++ b/clippy_lints/src/if_not_else.rs @@ -2,6 +2,7 @@ //! on the condition use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast::*; use crate::utils::{in_external_macro, span_help_and_lint}; diff --git a/clippy_lints/src/indexing_slicing.rs b/clippy_lints/src/indexing_slicing.rs index 8176408e720..aaea60f2c05 100644 --- a/clippy_lints/src/indexing_slicing.rs +++ b/clippy_lints/src/indexing_slicing.rs @@ -6,6 +6,7 @@ use crate::utils::higher; use crate::utils::higher::Range; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::ty; use syntax::ast::RangeLimits; diff --git a/clippy_lints/src/infallible_destructuring_match.rs b/clippy_lints/src/infallible_destructuring_match.rs index 9abd9754d67..8b8cb32deb1 100644 --- a/clippy_lints/src/infallible_destructuring_match.rs +++ b/clippy_lints/src/infallible_destructuring_match.rs @@ -1,6 +1,8 @@ use super::utils::{get_arg_name, match_var, remove_blocks, snippet, span_lint_and_sugg}; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; /// **What it does:** Checks for matches being used to destructure a single-variant enum /// or tuple struct where a `let` will suffice. diff --git a/clippy_lints/src/infinite_iter.rs b/clippy_lints/src/infinite_iter.rs index a979486945a..3f461a07ab2 100644 --- a/clippy_lints/src/infinite_iter.rs +++ b/clippy_lints/src/infinite_iter.rs @@ -1,5 +1,6 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use crate::utils::{get_trait_def_id, higher, implements_trait, match_qpath, paths, span_lint}; /// **What it does:** Checks for iteration that is guaranteed to be infinite. diff --git a/clippy_lints/src/inherent_impl.rs b/clippy_lints/src/inherent_impl.rs index 9fb9a162cde..fc06af81574 100644 --- a/clippy_lints/src/inherent_impl.rs +++ b/clippy_lints/src/inherent_impl.rs @@ -2,6 +2,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use std::collections::HashMap; use std::default::Default; use syntax_pos::Span; diff --git a/clippy_lints/src/inline_fn_without_body.rs b/clippy_lints/src/inline_fn_without_body.rs index 8dab9fbd12f..b308e3ca81f 100644 --- a/clippy_lints/src/inline_fn_without_body.rs +++ b/clippy_lints/src/inline_fn_without_body.rs @@ -1,6 +1,7 @@ //! checks for `#[inline]` on trait methods without bodies use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use syntax::ast::{Attribute, Name}; use crate::utils::span_lint_and_then; diff --git a/clippy_lints/src/int_plus_one.rs b/clippy_lints/src/int_plus_one.rs index 8daf3d296c7..490d06f259f 100644 --- a/clippy_lints/src/int_plus_one.rs +++ b/clippy_lints/src/int_plus_one.rs @@ -1,6 +1,7 @@ //! lint on blocks unnecessarily using >= with a + 1 or - 1 use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast::*; use crate::utils::{snippet_opt, span_lint_and_then}; diff --git a/clippy_lints/src/invalid_ref.rs b/clippy_lints/src/invalid_ref.rs index 255efa74165..b529cb3ac38 100644 --- a/clippy_lints/src/invalid_ref.rs +++ b/clippy_lints/src/invalid_ref.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty; use rustc::hir::*; use crate::utils::{match_def_path, opt_def_id, paths, span_help_and_lint}; diff --git a/clippy_lints/src/items_after_statements.rs b/clippy_lints/src/items_after_statements.rs index 685c91c0457..1d0382748ee 100644 --- a/clippy_lints/src/items_after_statements.rs +++ b/clippy_lints/src/items_after_statements.rs @@ -1,6 +1,8 @@ //! lint when items are used after statements +use matches::matches; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast::*; use crate::utils::{in_macro, span_lint}; diff --git a/clippy_lints/src/large_enum_variant.rs b/clippy_lints/src/large_enum_variant.rs index 926e3a3033f..f29e5040354 100644 --- a/clippy_lints/src/large_enum_variant.rs +++ b/clippy_lints/src/large_enum_variant.rs @@ -1,6 +1,7 @@ //! lint when there is a large size difference between variants on an enum use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use crate::utils::{snippet_opt, span_lint_and_then}; use rustc::ty::layout::LayoutOf; diff --git a/clippy_lints/src/len_zero.rs b/clippy_lints/src/len_zero.rs index bd02eb5c81f..e3ff60d30a2 100644 --- a/clippy_lints/src/len_zero.rs +++ b/clippy_lints/src/len_zero.rs @@ -1,6 +1,7 @@ use rustc::hir::def_id::DefId; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::ty; use std::collections::HashSet; use syntax::ast::{Lit, LitKind, Name}; diff --git a/clippy_lints/src/let_if_seq.rs b/clippy_lints/src/let_if_seq.rs index a72e09f9fdf..57ca5eff955 100644 --- a/clippy_lints/src/let_if_seq.rs +++ b/clippy_lints/src/let_if_seq.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir; use rustc::hir::BindingAnnotation; use rustc::hir::def::Def; diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index 367a103602d..8ff0e1852c3 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -13,25 +13,10 @@ #![feature(macro_at_most_once_rep)] #![feature(rust_2018_preview)] #![warn(rust_2018_idioms)] -#![allow(macro_use_extern_crate)] - -#[macro_use] -extern crate rustc; use toml; use rustc_plugin; -#[macro_use] -extern crate matches as matches_macro; - -#[macro_use] -extern crate serde_derive; - -#[macro_use] -extern crate lazy_static; - -#[macro_use] -extern crate if_chain; macro_rules! declare_clippy_lint { { pub $name:tt, style, $description:tt } => { diff --git a/clippy_lints/src/lifetimes.rs b/clippy_lints/src/lifetimes.rs index 1b371a8141e..7762c4d1cb5 100644 --- a/clippy_lints/src/lifetimes.rs +++ b/clippy_lints/src/lifetimes.rs @@ -1,5 +1,7 @@ use crate::reexport::*; +use matches::matches; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::def::Def; use rustc::hir::*; use rustc::hir::intravisit::*; diff --git a/clippy_lints/src/literal_representation.rs b/clippy_lints/src/literal_representation.rs index 9b6c30f7f4c..bb5a923eaf9 100644 --- a/clippy_lints/src/literal_representation.rs +++ b/clippy_lints/src/literal_representation.rs @@ -2,6 +2,8 @@ //! floating-point literal expressions. use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use syntax::ast::*; use syntax_pos; use crate::utils::{in_external_macro, snippet_opt, span_lint_and_sugg}; diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs index e7da7bde30f..86580c27cff 100644 --- a/clippy_lints/src/loops.rs +++ b/clippy_lints/src/loops.rs @@ -6,6 +6,8 @@ use rustc::hir::def_id; use rustc::hir::intravisit::{walk_block, walk_decl, walk_expr, walk_pat, walk_stmt, NestedVisitorMap, Visitor}; use rustc::hir::map::Node::{NodeBlock, NodeExpr, NodeStmt}; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::middle::region; // use rustc::middle::region::CodeExtent; use rustc::middle::expr_use_visitor::*; diff --git a/clippy_lints/src/map_clone.rs b/clippy_lints/src/map_clone.rs index 01ce702c17c..0c427c5ffe4 100644 --- a/clippy_lints/src/map_clone.rs +++ b/clippy_lints/src/map_clone.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir::*; use rustc::ty; use syntax::ast; diff --git a/clippy_lints/src/map_unit_fn.rs b/clippy_lints/src/map_unit_fn.rs index 8df573e4c72..bd5613d0b48 100644 --- a/clippy_lints/src/map_unit_fn.rs +++ b/clippy_lints/src/map_unit_fn.rs @@ -1,5 +1,7 @@ use rustc::hir; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty; use rustc_errors::Applicability; use syntax::codemap::Span; diff --git a/clippy_lints/src/matches.rs b/clippy_lints/src/matches.rs index c82d156462d..65c360922b2 100644 --- a/clippy_lints/src/matches.rs +++ b/clippy_lints/src/matches.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::{self, Ty}; use std::cmp::Ordering; use std::collections::Bound; diff --git a/clippy_lints/src/mem_forget.rs b/clippy_lints/src/mem_forget.rs index 11cf8a9a791..88c24458646 100644 --- a/clippy_lints/src/mem_forget.rs +++ b/clippy_lints/src/mem_forget.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::{Expr, ExprKind}; use crate::utils::{match_def_path, opt_def_id, paths, span_lint}; diff --git a/clippy_lints/src/methods.rs b/clippy_lints/src/methods.rs index 26a0b66094f..3ebad1d705b 100644 --- a/clippy_lints/src/methods.rs +++ b/clippy_lints/src/methods.rs @@ -1,5 +1,8 @@ +use matches::matches; use rustc::hir; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::{self, Ty}; use rustc::hir::def::Def; use std::borrow::Cow; diff --git a/clippy_lints/src/minmax.rs b/clippy_lints/src/minmax.rs index fa2c9fda731..498f9ef4743 100644 --- a/clippy_lints/src/minmax.rs +++ b/clippy_lints/src/minmax.rs @@ -2,6 +2,7 @@ use crate::consts::{constant_simple, Constant}; use crate::utils::{match_def_path, opt_def_id, paths, span_lint}; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use std::cmp::Ordering; /// **What it does:** Checks for expressions where `std::cmp::min` and `max` are diff --git a/clippy_lints/src/misc.rs b/clippy_lints/src/misc.rs index c5440420fc1..a32c95e9672 100644 --- a/clippy_lints/src/misc.rs +++ b/clippy_lints/src/misc.rs @@ -1,7 +1,10 @@ use crate::reexport::*; +use matches::matches; use rustc::hir::*; use rustc::hir::intravisit::FnKind; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty; use syntax::codemap::{ExpnFormat, Span}; use crate::utils::{get_item_name, get_parent_expr, implements_trait, in_constant, in_macro, is_integer_literal, diff --git a/clippy_lints/src/misc_early.rs b/clippy_lints/src/misc_early.rs index e527a05c851..5bf7d5f3404 100644 --- a/clippy_lints/src/misc_early.rs +++ b/clippy_lints/src/misc_early.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use std::collections::HashMap; use std::char; use syntax::ast::*; diff --git a/clippy_lints/src/missing_doc.rs b/clippy_lints/src/missing_doc.rs index 7ccee73d83d..e921c541be2 100644 --- a/clippy_lints/src/missing_doc.rs +++ b/clippy_lints/src/missing_doc.rs @@ -20,6 +20,7 @@ use rustc::hir; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::ty; use syntax::ast; use syntax::attr; diff --git a/clippy_lints/src/missing_inline.rs b/clippy_lints/src/missing_inline.rs index 20252393f35..cc57e771064 100644 --- a/clippy_lints/src/missing_inline.rs +++ b/clippy_lints/src/missing_inline.rs @@ -11,6 +11,7 @@ use rustc::hir; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast; use syntax::codemap::Span; diff --git a/clippy_lints/src/multiple_crate_versions.rs b/clippy_lints/src/multiple_crate_versions.rs index d347270236d..b484488b106 100644 --- a/clippy_lints/src/multiple_crate_versions.rs +++ b/clippy_lints/src/multiple_crate_versions.rs @@ -1,6 +1,7 @@ //! lint on multiple versions of a crate being used use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast::*; use cargo_metadata; diff --git a/clippy_lints/src/mut_mut.rs b/clippy_lints/src/mut_mut.rs index ef08e60c4ef..f3918f542df 100644 --- a/clippy_lints/src/mut_mut.rs +++ b/clippy_lints/src/mut_mut.rs @@ -1,6 +1,7 @@ use rustc::hir; use rustc::hir::intravisit; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::ty; use crate::utils::{higher, in_external_macro, span_lint}; diff --git a/clippy_lints/src/mut_reference.rs b/clippy_lints/src/mut_reference.rs index b4d6652a65a..de4c5444440 100644 --- a/clippy_lints/src/mut_reference.rs +++ b/clippy_lints/src/mut_reference.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::ty::{self, Ty}; use rustc::ty::subst::Subst; use rustc::hir::*; diff --git a/clippy_lints/src/mutex_atomic.rs b/clippy_lints/src/mutex_atomic.rs index e5679bb7ba5..2448cd84d7c 100644 --- a/clippy_lints/src/mutex_atomic.rs +++ b/clippy_lints/src/mutex_atomic.rs @@ -3,6 +3,7 @@ //! This lint is **warn** by default use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; +use rustc::{declare_lint, lint_array}; use rustc::ty::{self, Ty}; use rustc::hir::Expr; use syntax::ast; diff --git a/clippy_lints/src/needless_bool.rs b/clippy_lints/src/needless_bool.rs index 2fd5ff9a246..559aa74f9a2 100644 --- a/clippy_lints/src/needless_bool.rs +++ b/clippy_lints/src/needless_bool.rs @@ -3,6 +3,7 @@ //! This lint is **warn** by default use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use syntax::ast::LitKind; use syntax::codemap::Spanned; diff --git a/clippy_lints/src/needless_borrow.rs b/clippy_lints/src/needless_borrow.rs index 90e41bc6f68..7986b43919c 100644 --- a/clippy_lints/src/needless_borrow.rs +++ b/clippy_lints/src/needless_borrow.rs @@ -3,6 +3,8 @@ //! This lint is **warn** by default use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir::{BindingAnnotation, Expr, ExprKind, MutImmutable, Pat, PatKind}; use rustc::ty; use rustc::ty::adjustment::{Adjust, Adjustment}; diff --git a/clippy_lints/src/needless_borrowed_ref.rs b/clippy_lints/src/needless_borrowed_ref.rs index 91cc01891a9..1679a9007b4 100644 --- a/clippy_lints/src/needless_borrowed_ref.rs +++ b/clippy_lints/src/needless_borrowed_ref.rs @@ -3,6 +3,8 @@ //! This lint is **warn** by default use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir::{BindingAnnotation, MutImmutable, Pat, PatKind}; use crate::utils::{in_macro, snippet, span_lint_and_then}; diff --git a/clippy_lints/src/needless_continue.rs b/clippy_lints/src/needless_continue.rs index 3258bcd069a..0b955bbfdff 100644 --- a/clippy_lints/src/needless_continue.rs +++ b/clippy_lints/src/needless_continue.rs @@ -28,6 +28,7 @@ //! //! This lint is **warn** by default. use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast; use syntax::codemap::{original_sp, DUMMY_SP}; use std::borrow::Cow; diff --git a/clippy_lints/src/needless_pass_by_value.rs b/clippy_lints/src/needless_pass_by_value.rs index fa0586c1548..7463ea2d9c3 100644 --- a/clippy_lints/src/needless_pass_by_value.rs +++ b/clippy_lints/src/needless_pass_by_value.rs @@ -1,7 +1,10 @@ +use matches::matches; use rustc::hir::*; use rustc::hir::map::*; use rustc::hir::intravisit::FnKind; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::{self, RegionKind, TypeFoldable}; use rustc::traits; use rustc::middle::expr_use_visitor as euv; diff --git a/clippy_lints/src/needless_update.rs b/clippy_lints/src/needless_update.rs index 9c670c1a5b3..52c4c6e5237 100644 --- a/clippy_lints/src/needless_update.rs +++ b/clippy_lints/src/needless_update.rs @@ -1,4 +1,5 @@ use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; +use rustc::{declare_lint, lint_array}; use rustc::ty; use rustc::hir::{Expr, ExprKind}; use crate::utils::span_lint; diff --git a/clippy_lints/src/neg_cmp_op_on_partial_ord.rs b/clippy_lints/src/neg_cmp_op_on_partial_ord.rs index e0374b80dd8..70a47674d9f 100644 --- a/clippy_lints/src/neg_cmp_op_on_partial_ord.rs +++ b/clippy_lints/src/neg_cmp_op_on_partial_ord.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use crate::utils::{self, paths, span_lint, in_external_macro}; diff --git a/clippy_lints/src/neg_multiply.rs b/clippy_lints/src/neg_multiply.rs index e30ac8695dc..96f2e58f3be 100644 --- a/clippy_lints/src/neg_multiply.rs +++ b/clippy_lints/src/neg_multiply.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use syntax::codemap::{Span, Spanned}; use crate::consts::{self, Constant}; diff --git a/clippy_lints/src/new_without_default.rs b/clippy_lints/src/new_without_default.rs index 6be340a99f4..a2192710292 100644 --- a/clippy_lints/src/new_without_default.rs +++ b/clippy_lints/src/new_without_default.rs @@ -1,6 +1,8 @@ use rustc::hir::def_id::DefId; use rustc::hir; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::{self, Ty}; use syntax::codemap::Span; use crate::utils::paths; diff --git a/clippy_lints/src/no_effect.rs b/clippy_lints/src/no_effect.rs index 5180ff34877..dc83b29854c 100644 --- a/clippy_lints/src/no_effect.rs +++ b/clippy_lints/src/no_effect.rs @@ -1,4 +1,5 @@ use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; +use rustc::{declare_lint, lint_array}; use rustc::hir::def::Def; use rustc::hir::{BinOpKind, BlockCheckMode, Expr, ExprKind, Stmt, StmtKind, UnsafeSource}; use crate::utils::{has_drop, in_macro, snippet_opt, span_lint, span_lint_and_sugg}; diff --git a/clippy_lints/src/non_copy_const.rs b/clippy_lints/src/non_copy_const.rs index 981451947bf..f2c9210aae4 100644 --- a/clippy_lints/src/non_copy_const.rs +++ b/clippy_lints/src/non_copy_const.rs @@ -3,6 +3,7 @@ //! This lint is **deny** by default. use rustc::lint::{LateContext, LateLintPass, Lint, LintArray, LintPass}; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use rustc::hir::def::Def; use rustc::ty::{self, TypeFlags}; diff --git a/clippy_lints/src/non_expressive_names.rs b/clippy_lints/src/non_expressive_names.rs index b49e3f87ec9..8f21523f404 100644 --- a/clippy_lints/src/non_expressive_names.rs +++ b/clippy_lints/src/non_expressive_names.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::codemap::Span; use syntax::symbol::LocalInternedString; use syntax::ast::*; diff --git a/clippy_lints/src/ok_if_let.rs b/clippy_lints/src/ok_if_let.rs index 0a1399075e0..2a7f71c7145 100644 --- a/clippy_lints/src/ok_if_let.rs +++ b/clippy_lints/src/ok_if_let.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir::*; use crate::utils::{match_type, method_chain_args, paths, snippet, span_help_and_lint}; diff --git a/clippy_lints/src/open_options.rs b/clippy_lints/src/open_options.rs index b4559969ac2..06b48b9eeac 100644 --- a/clippy_lints/src/open_options.rs +++ b/clippy_lints/src/open_options.rs @@ -1,5 +1,6 @@ use rustc::hir::{Expr, ExprKind}; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast::LitKind; use syntax::codemap::{Span, Spanned}; use crate::utils::{match_type, paths, span_lint, walk_ptrs_ty}; diff --git a/clippy_lints/src/overflow_check_conditional.rs b/clippy_lints/src/overflow_check_conditional.rs index 8783055b31e..5714bdb521c 100644 --- a/clippy_lints/src/overflow_check_conditional.rs +++ b/clippy_lints/src/overflow_check_conditional.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir::*; use crate::utils::{span_lint, SpanlessEq}; diff --git a/clippy_lints/src/panic_unimplemented.rs b/clippy_lints/src/panic_unimplemented.rs index 24cf6544f6a..e8dfca24c57 100644 --- a/clippy_lints/src/panic_unimplemented.rs +++ b/clippy_lints/src/panic_unimplemented.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use syntax::ast::LitKind; use syntax::ptr::P; use syntax::ext::quote::rt::Span; diff --git a/clippy_lints/src/partialeq_ne_impl.rs b/clippy_lints/src/partialeq_ne_impl.rs index 2d283b96f86..675d014c527 100644 --- a/clippy_lints/src/partialeq_ne_impl.rs +++ b/clippy_lints/src/partialeq_ne_impl.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir::*; use crate::utils::{is_automatically_derived, span_lint}; diff --git a/clippy_lints/src/precedence.rs b/clippy_lints/src/precedence.rs index 7f5dd2abc0e..76ea9c5ade6 100644 --- a/clippy_lints/src/precedence.rs +++ b/clippy_lints/src/precedence.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast::*; use syntax::codemap::Spanned; use crate::utils::{in_macro, snippet, span_lint_and_sugg}; diff --git a/clippy_lints/src/ptr.rs b/clippy_lints/src/ptr.rs index 22804764d8a..167ce84f803 100644 --- a/clippy_lints/src/ptr.rs +++ b/clippy_lints/src/ptr.rs @@ -5,6 +5,8 @@ use rustc::hir::*; use rustc::hir::map::NodeItem; use rustc::hir::QPath; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty; use syntax::ast::NodeId; use syntax::codemap::Span; diff --git a/clippy_lints/src/question_mark.rs b/clippy_lints/src/question_mark.rs index b8e7a2646c4..b2d53e124ff 100644 --- a/clippy_lints/src/question_mark.rs +++ b/clippy_lints/src/question_mark.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir::*; use rustc::hir::def::Def; use crate::utils::sugg::Sugg; diff --git a/clippy_lints/src/ranges.rs b/clippy_lints/src/ranges.rs index 2fb3bf5182c..9525ea014a9 100644 --- a/clippy_lints/src/ranges.rs +++ b/clippy_lints/src/ranges.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir::*; use syntax::ast::RangeLimits; use syntax::codemap::Spanned; diff --git a/clippy_lints/src/redundant_field_names.rs b/clippy_lints/src/redundant_field_names.rs index d179bffd59a..4f28d36e2a8 100644 --- a/clippy_lints/src/redundant_field_names.rs +++ b/clippy_lints/src/redundant_field_names.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use crate::utils::{in_macro, is_range_expression, match_var, span_lint_and_sugg}; diff --git a/clippy_lints/src/reference.rs b/clippy_lints/src/reference.rs index d8179816236..27aca6f4bf1 100644 --- a/clippy_lints/src/reference.rs +++ b/clippy_lints/src/reference.rs @@ -1,5 +1,7 @@ use syntax::ast::{Expr, ExprKind, UnOp}; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use crate::utils::{snippet, span_lint_and_sugg}; /// **What it does:** Checks for usage of `*&` and `*&mut` in expressions. diff --git a/clippy_lints/src/regex.rs b/clippy_lints/src/regex.rs index fbead26a03b..39b7888dcc6 100644 --- a/clippy_lints/src/regex.rs +++ b/clippy_lints/src/regex.rs @@ -1,6 +1,8 @@ use regex_syntax; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use std::collections::HashSet; use syntax::ast::{LitKind, NodeId, StrStyle}; use syntax::codemap::{BytePos, Span}; diff --git a/clippy_lints/src/replace_consts.rs b/clippy_lints/src/replace_consts.rs index f149e324877..b9a4c6ebb19 100644 --- a/clippy_lints/src/replace_consts.rs +++ b/clippy_lints/src/replace_consts.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir; use rustc::hir::def::Def; use crate::utils::{match_def_path, span_lint_and_sugg}; diff --git a/clippy_lints/src/returns.rs b/clippy_lints/src/returns.rs index 03a5d58a3ee..2bfc1e7d107 100644 --- a/clippy_lints/src/returns.rs +++ b/clippy_lints/src/returns.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use syntax::ast; use syntax::codemap::Span; use syntax::visit::FnKind; diff --git a/clippy_lints/src/serde_api.rs b/clippy_lints/src/serde_api.rs index 55c51307e04..ce326ea72ca 100644 --- a/clippy_lints/src/serde_api.rs +++ b/clippy_lints/src/serde_api.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use crate::utils::{get_trait_def_id, paths, span_lint}; diff --git a/clippy_lints/src/shadow.rs b/clippy_lints/src/shadow.rs index cc08e1ee816..563530c1ae7 100644 --- a/clippy_lints/src/shadow.rs +++ b/clippy_lints/src/shadow.rs @@ -1,5 +1,6 @@ use crate::reexport::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use rustc::hir::intravisit::FnKind; use rustc::ty; diff --git a/clippy_lints/src/strings.rs b/clippy_lints/src/strings.rs index 40f5c66ce15..fa8102308d8 100644 --- a/clippy_lints/src/strings.rs +++ b/clippy_lints/src/strings.rs @@ -1,5 +1,6 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::codemap::Spanned; use crate::utils::SpanlessEq; use crate::utils::{get_parent_expr, is_allowed, match_type, paths, span_lint, span_lint_and_sugg, walk_ptrs_ty}; diff --git a/clippy_lints/src/suspicious_trait_impl.rs b/clippy_lints/src/suspicious_trait_impl.rs index 10db53cc782..bd0f6dc68dc 100644 --- a/clippy_lints/src/suspicious_trait_impl.rs +++ b/clippy_lints/src/suspicious_trait_impl.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; use syntax::ast; diff --git a/clippy_lints/src/swap.rs b/clippy_lints/src/swap.rs index dfcc9c39348..4278d6d74ac 100644 --- a/clippy_lints/src/swap.rs +++ b/clippy_lints/src/swap.rs @@ -1,5 +1,8 @@ +use matches::matches; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty; use crate::utils::{differing_macro_contexts, match_type, paths, snippet, span_lint_and_then, walk_ptrs_ty, SpanlessEq}; use crate::utils::sugg::Sugg; diff --git a/clippy_lints/src/temporary_assignment.rs b/clippy_lints/src/temporary_assignment.rs index 008ab56bda8..56e705ad0a7 100644 --- a/clippy_lints/src/temporary_assignment.rs +++ b/clippy_lints/src/temporary_assignment.rs @@ -1,4 +1,5 @@ use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; +use rustc::{declare_lint, lint_array}; use rustc::hir::{Expr, ExprKind}; use crate::utils::is_adjusted; use crate::utils::span_lint; diff --git a/clippy_lints/src/transmute.rs b/clippy_lints/src/transmute.rs index 9914ab0e8db..aa964e4558f 100644 --- a/clippy_lints/src/transmute.rs +++ b/clippy_lints/src/transmute.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::{self, Ty}; use rustc::hir::*; use std::borrow::Cow; diff --git a/clippy_lints/src/trivially_copy_pass_by_ref.rs b/clippy_lints/src/trivially_copy_pass_by_ref.rs index 18c85cd05ab..b6fd8db5157 100644 --- a/clippy_lints/src/trivially_copy_pass_by_ref.rs +++ b/clippy_lints/src/trivially_copy_pass_by_ref.rs @@ -1,9 +1,12 @@ use std::cmp; +use matches::matches; use rustc::hir::*; use rustc::hir::map::*; use rustc::hir::intravisit::FnKind; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::TypeVariants; use rustc::session::config::Config as SessionConfig; use rustc_target::spec::abi::Abi; diff --git a/clippy_lints/src/types.rs b/clippy_lints/src/types.rs index ae4f579a6f2..2921b502c1f 100644 --- a/clippy_lints/src/types.rs +++ b/clippy_lints/src/types.rs @@ -3,6 +3,8 @@ use rustc::hir; use rustc::hir::*; use rustc::hir::intravisit::{walk_body, walk_expr, walk_ty, FnKind, NestedVisitorMap, Visitor}; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::{self, Ty, TyCtxt, TypeckTables}; use rustc::ty::layout::LayoutOf; use rustc_typeck::hir_ty_to_ty; diff --git a/clippy_lints/src/unicode.rs b/clippy_lints/src/unicode.rs index ddd9db9eda3..c4a795bfacb 100644 --- a/clippy_lints/src/unicode.rs +++ b/clippy_lints/src/unicode.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use syntax::ast::{LitKind, NodeId}; use syntax::codemap::Span; diff --git a/clippy_lints/src/unsafe_removed_from_name.rs b/clippy_lints/src/unsafe_removed_from_name.rs index a1f31770ec0..a6cab892324 100644 --- a/clippy_lints/src/unsafe_removed_from_name.rs +++ b/clippy_lints/src/unsafe_removed_from_name.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use syntax::ast::*; use syntax::codemap::Span; use syntax::symbol::LocalInternedString; diff --git a/clippy_lints/src/unused_io_amount.rs b/clippy_lints/src/unused_io_amount.rs index 649a1033371..e4dac731cf2 100644 --- a/clippy_lints/src/unused_io_amount.rs +++ b/clippy_lints/src/unused_io_amount.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir; use crate::utils::{is_try, match_qpath, match_trait_method, paths, span_lint}; diff --git a/clippy_lints/src/unused_label.rs b/clippy_lints/src/unused_label.rs index 0ae956b9443..1681a303fd3 100644 --- a/clippy_lints/src/unused_label.rs +++ b/clippy_lints/src/unused_label.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir; use rustc::hir::intravisit::{walk_expr, walk_fn, FnKind, NestedVisitorMap, Visitor}; use std::collections::HashMap; diff --git a/clippy_lints/src/unwrap.rs b/clippy_lints/src/unwrap.rs index fcc3c2f68c1..6cafcaeffe9 100644 --- a/clippy_lints/src/unwrap.rs +++ b/clippy_lints/src/unwrap.rs @@ -1,4 +1,6 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use crate::utils::{in_macro, match_type, paths, span_lint_and_then, usage::is_potentially_mutated}; use rustc::hir::intravisit::*; diff --git a/clippy_lints/src/use_self.rs b/clippy_lints/src/use_self.rs index 230d5fdca2c..2ea4497a0d1 100644 --- a/clippy_lints/src/use_self.rs +++ b/clippy_lints/src/use_self.rs @@ -1,4 +1,6 @@ use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir::*; use rustc::hir::intravisit::{walk_path, NestedVisitorMap, Visitor}; use crate::utils::{in_macro, span_lint_and_then}; diff --git a/clippy_lints/src/utils/author.rs b/clippy_lints/src/utils/author.rs index 9a848c8a805..4310325475a 100644 --- a/clippy_lints/src/utils/author.rs +++ b/clippy_lints/src/utils/author.rs @@ -4,6 +4,7 @@ #![allow(print_stdout, use_debug)] use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir; use rustc::hir::{Expr, ExprKind, QPath, TyKind, Pat, PatKind, BindingAnnotation, StmtKind, DeclKind, Stmt}; use rustc::hir::intravisit::{NestedVisitorMap, Visitor}; diff --git a/clippy_lints/src/utils/conf.rs b/clippy_lints/src/utils/conf.rs index 05abdd2f13c..52b34916627 100644 --- a/clippy_lints/src/utils/conf.rs +++ b/clippy_lints/src/utils/conf.rs @@ -2,6 +2,7 @@ #![deny(missing_docs_in_private_items)] +use lazy_static::lazy_static; use std::{env, fmt, fs, io, path}; use std::io::Read; use syntax::{ast, codemap}; @@ -86,10 +87,10 @@ macro_rules! define_Conf { // #[allow(rust_2018_idioms)] mod helpers { + use serde_derive::Deserialize; /// Type used to store lint configuration. #[derive(Deserialize)] - #[serde(rename_all="kebab-case")] - #[serde(deny_unknown_fields)] + #[serde(rename_all="kebab-case", deny_unknown_fields)] pub struct Conf { $(#[$doc] #[serde(default=$rust_name_str)] #[serde(with=$rust_name_str)] pub $rust_name: define_Conf!(TY $($ty)+),)+ diff --git a/clippy_lints/src/utils/higher.rs b/clippy_lints/src/utils/higher.rs index 3f0243a91c0..d63a2dae802 100644 --- a/clippy_lints/src/utils/higher.rs +++ b/clippy_lints/src/utils/higher.rs @@ -3,6 +3,7 @@ #![deny(missing_docs_in_private_items)] +use if_chain::if_chain; use rustc::{hir, ty}; use rustc::lint::LateContext; use syntax::ast; diff --git a/clippy_lints/src/utils/inspector.rs b/clippy_lints/src/utils/inspector.rs index 2e0f8431850..55233510495 100644 --- a/clippy_lints/src/utils/inspector.rs +++ b/clippy_lints/src/utils/inspector.rs @@ -3,6 +3,7 @@ //! checks for attributes use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir; use rustc::hir::print; use syntax::ast::Attribute; diff --git a/clippy_lints/src/utils/internal_lints.rs b/clippy_lints/src/utils/internal_lints.rs index a348df83a9d..3d43d595def 100644 --- a/clippy_lints/src/utils/internal_lints.rs +++ b/clippy_lints/src/utils/internal_lints.rs @@ -1,4 +1,5 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; use rustc::hir; use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; diff --git a/clippy_lints/src/utils/mod.rs b/clippy_lints/src/utils/mod.rs index 10a57e147b9..bdf486a45ab 100644 --- a/clippy_lints/src/utils/mod.rs +++ b/clippy_lints/src/utils/mod.rs @@ -1,4 +1,6 @@ use crate::reexport::*; +use matches::matches; +use if_chain::if_chain; use rustc::hir; use rustc::hir::*; use rustc::hir::def_id::{DefId, CRATE_DEF_INDEX}; diff --git a/clippy_lints/src/utils/sugg.rs b/clippy_lints/src/utils/sugg.rs index ff9424289c5..c7e1e59f063 100644 --- a/clippy_lints/src/utils/sugg.rs +++ b/clippy_lints/src/utils/sugg.rs @@ -3,6 +3,7 @@ // currently ignores lifetimes and generics #![allow(use_self)] +use matches::matches; use rustc::hir; use rustc::lint::{EarlyContext, LateContext, LintContext}; use rustc_errors; diff --git a/clippy_lints/src/vec.rs b/clippy_lints/src/vec.rs index 39ab77c3afa..a58d73f86da 100644 --- a/clippy_lints/src/vec.rs +++ b/clippy_lints/src/vec.rs @@ -1,5 +1,7 @@ use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::ty::{self, Ty}; use syntax::codemap::Span; use crate::utils::{higher, is_copy, snippet, span_lint_and_sugg}; diff --git a/clippy_lints/src/write.rs b/clippy_lints/src/write.rs index 556d128bca7..0f0bd64cb61 100644 --- a/clippy_lints/src/write.rs +++ b/clippy_lints/src/write.rs @@ -1,6 +1,8 @@ use rustc::hir::map::Node::{NodeImplItem, NodeItem}; use rustc::hir::*; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use std::ops::Deref; use syntax::ast::LitKind; use syntax::ptr; diff --git a/clippy_lints/src/zero_div_zero.rs b/clippy_lints/src/zero_div_zero.rs index 5232d5714f1..7c8af7880ba 100644 --- a/clippy_lints/src/zero_div_zero.rs +++ b/clippy_lints/src/zero_div_zero.rs @@ -1,5 +1,7 @@ use crate::consts::{constant_simple, Constant}; use rustc::lint::*; +use rustc::{declare_lint, lint_array}; +use if_chain::if_chain; use rustc::hir::*; use crate::utils::span_help_and_lint;