Skip to content

Commit d7a2311

Browse files
committed
Auto merge of #6914 - camsteffen:source-utils, r=Manishearth
Move some utils to `clippy_utils::source` changelog: none Continues #6907
2 parents 0929a24 + 6fc52a6 commit d7a2311

File tree

152 files changed

+753
-649
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+753
-649
lines changed

clippy_lints/src/assertions_on_constants.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::consts::{constant, Constant};
2-
use crate::utils::{is_direct_expn_of, is_expn_of, match_panic_call, snippet_opt, span_lint_and_help};
2+
use crate::utils::{is_direct_expn_of, is_expn_of, match_panic_call, span_lint_and_help};
3+
use clippy_utils::source::snippet_opt;
34
use if_chain::if_chain;
45
use rustc_hir::{Expr, ExprKind, UnOp};
56
use rustc_lint::{LateContext, LateLintPass};

clippy_lints/src/assign_ops.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
use crate::utils::{eq_expr_value, get_trait_def_id, snippet_opt, span_lint_and_then, trait_ref_of_method};
1+
use crate::utils::{eq_expr_value, get_trait_def_id, span_lint_and_then, trait_ref_of_method};
22
use crate::utils::{higher, sugg};
3+
use clippy_utils::source::snippet_opt;
34
use clippy_utils::ty::implements_trait;
45
use if_chain::if_chain;
56
use rustc_errors::Applicability;

clippy_lints/src/async_yields_async.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use crate::utils::{snippet, span_lint_and_then};
1+
use crate::utils::span_lint_and_then;
2+
use clippy_utils::source::snippet;
23
use clippy_utils::ty::implements_trait;
34
use rustc_errors::Applicability;
45
use rustc_hir::{AsyncGeneratorKind, Body, BodyId, ExprKind, GeneratorKind, QPath};

clippy_lints/src/attrs.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
//! checks for attributes
22
3-
use crate::utils::{
4-
first_line_of_span, is_present_in_source, match_panic_def_id, snippet_opt, span_lint, span_lint_and_help,
5-
span_lint_and_sugg, span_lint_and_then, without_block_comments,
6-
};
3+
use crate::utils::{match_panic_def_id, span_lint, span_lint_and_help, span_lint_and_sugg, span_lint_and_then};
4+
use clippy_utils::source::{first_line_of_span, is_present_in_source, snippet_opt, without_block_comments};
75
use if_chain::if_chain;
86
use rustc_ast::{AttrKind, AttrStyle, Attribute, Lit, LitKind, MetaItemKind, NestedMetaItem};
97
use rustc_errors::Applicability;

clippy_lints/src/blocks_in_if_conditions.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
use crate::utils::{
2-
differing_macro_contexts, get_parent_expr, snippet_block_with_applicability, span_lint, span_lint_and_sugg,
3-
};
1+
use crate::utils::{differing_macro_contexts, get_parent_expr, span_lint, span_lint_and_sugg};
2+
use clippy_utils::source::snippet_block_with_applicability;
43
use clippy_utils::ty::implements_trait;
54
use if_chain::if_chain;
65
use rustc_errors::Applicability;

clippy_lints/src/booleans.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
use crate::utils::{
2-
eq_expr_value, get_trait_def_id, in_macro, paths, snippet_opt, span_lint_and_sugg, span_lint_and_then,
3-
};
1+
use crate::utils::{eq_expr_value, get_trait_def_id, in_macro, paths, span_lint_and_sugg, span_lint_and_then};
2+
use clippy_utils::source::snippet_opt;
43
use clippy_utils::ty::{implements_trait, is_type_diagnostic_item};
54
use if_chain::if_chain;
65
use rustc_ast::ast::LitKind;

clippy_lints/src/bytecount.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
use crate::utils::{
2-
contains_name, get_pat_name, paths, single_segment_path, snippet_with_applicability, span_lint_and_sugg,
3-
};
1+
use crate::utils::{contains_name, get_pat_name, paths, single_segment_path, span_lint_and_sugg};
2+
use clippy_utils::source::snippet_with_applicability;
43
use clippy_utils::ty::match_type;
54
use if_chain::if_chain;
65
use rustc_errors::Applicability;

clippy_lints/src/casts/cast_lossless.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
use clippy_utils::source::snippet_opt;
12
use clippy_utils::ty::is_isize_or_usize;
23
use rustc_errors::Applicability;
34
use rustc_hir::{Expr, ExprKind};
45
use rustc_lint::LateContext;
56
use rustc_middle::ty::{self, FloatTy, Ty};
67

7-
use crate::utils::{in_constant, snippet_opt, span_lint_and_sugg};
8+
use crate::utils::{in_constant, span_lint_and_sugg};
89

910
use super::{utils, CAST_LOSSLESS};
1011

clippy_lints/src/casts/char_lit_as_u8.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1+
use clippy_utils::source::snippet_with_applicability;
2+
use if_chain::if_chain;
13
use rustc_ast::LitKind;
24
use rustc_errors::Applicability;
35
use rustc_hir::{Expr, ExprKind};
46
use rustc_lint::LateContext;
57
use rustc_middle::ty::{self, UintTy};
68

7-
use if_chain::if_chain;
8-
9-
use crate::utils::{snippet_with_applicability, span_lint_and_then};
9+
use crate::utils::span_lint_and_then;
1010

1111
use super::CHAR_LIT_AS_U8;
1212

clippy_lints/src/casts/fn_to_numeric_cast.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
use crate::utils::span_lint_and_sugg;
2+
use clippy_utils::source::snippet_with_applicability;
13
use rustc_errors::Applicability;
24
use rustc_hir::Expr;
35
use rustc_lint::LateContext;
46
use rustc_middle::ty::{self, Ty, UintTy};
57

6-
use crate::utils::{snippet_with_applicability, span_lint_and_sugg};
7-
88
use super::{utils, FN_TO_NUMERIC_CAST};
99

1010
pub(super) fn check(cx: &LateContext<'_>, expr: &Expr<'_>, cast_expr: &Expr<'_>, cast_from: Ty<'_>, cast_to: Ty<'_>) {

clippy_lints/src/casts/fn_to_numeric_cast_with_truncation.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
use crate::utils::span_lint_and_sugg;
2+
use clippy_utils::source::snippet_with_applicability;
13
use rustc_errors::Applicability;
24
use rustc_hir::Expr;
35
use rustc_lint::LateContext;
46
use rustc_middle::ty::{self, Ty};
57

6-
use crate::utils::{snippet_with_applicability, span_lint_and_sugg};
7-
88
use super::{utils, FN_TO_NUMERIC_CAST_WITH_TRUNCATION};
99

1010
pub(super) fn check(cx: &LateContext<'_>, expr: &Expr<'_>, cast_expr: &Expr<'_>, cast_from: Ty<'_>, cast_to: Ty<'_>) {

clippy_lints/src/casts/unnecessary_cast.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1+
use clippy_utils::source::snippet_opt;
2+
use if_chain::if_chain;
13
use rustc_ast::{LitFloatType, LitIntType, LitKind};
24
use rustc_errors::Applicability;
35
use rustc_hir::{Expr, ExprKind, Lit, UnOp};
46
use rustc_lint::{LateContext, LintContext};
57
use rustc_middle::lint::in_external_macro;
68
use rustc_middle::ty::{self, FloatTy, InferTy, Ty};
79

8-
use if_chain::if_chain;
9-
10-
use crate::utils::{numeric_literal::NumericLiteral, snippet_opt, span_lint_and_sugg};
10+
use crate::utils::{numeric_literal::NumericLiteral, span_lint_and_sugg};
1111

1212
use super::UNNECESSARY_CAST;
1313

clippy_lints/src/checked_conversions.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
//! lint on manually implemented checked conversions that could be transformed into `try_from`
22
3+
use clippy_utils::source::snippet_with_applicability;
34
use if_chain::if_chain;
45
use rustc_ast::ast::LitKind;
56
use rustc_errors::Applicability;
@@ -9,7 +10,7 @@ use rustc_middle::lint::in_external_macro;
910
use rustc_semver::RustcVersion;
1011
use rustc_session::{declare_tool_lint, impl_lint_pass};
1112

12-
use crate::utils::{meets_msrv, snippet_with_applicability, span_lint_and_sugg, SpanlessEq};
13+
use crate::utils::{meets_msrv, span_lint_and_sugg, SpanlessEq};
1314

1415
const CHECKED_CONVERSIONS_MSRV: RustcVersion = RustcVersion::new(1, 34, 0);
1516

clippy_lints/src/cognitive_complexity.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
//! calculate cognitive complexity and warn about overly complex functions
22
3+
use clippy_utils::source::snippet_opt;
34
use clippy_utils::ty::is_type_diagnostic_item;
45
use rustc_ast::ast::Attribute;
56
use rustc_hir::intravisit::{walk_expr, FnKind, NestedVisitorMap, Visitor};
@@ -10,7 +11,7 @@ use rustc_session::{declare_tool_lint, impl_lint_pass};
1011
use rustc_span::source_map::Span;
1112
use rustc_span::{sym, BytePos};
1213

13-
use crate::utils::{snippet_opt, span_lint_and_help, LimitStack};
14+
use crate::utils::{span_lint_and_help, LimitStack};
1415

1516
declare_clippy_lint! {
1617
/// **What it does:** Checks for methods with high cognitive complexity.

clippy_lints/src/collapsible_if.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,15 @@
1212
//!
1313
//! This lint is **warn** by default
1414
15+
use clippy_utils::source::{snippet_block, snippet_block_with_applicability};
1516
use if_chain::if_chain;
1617
use rustc_ast::ast;
18+
use rustc_errors::Applicability;
1719
use rustc_lint::{EarlyContext, EarlyLintPass};
1820
use rustc_session::{declare_lint_pass, declare_tool_lint};
1921

2022
use crate::utils::sugg::Sugg;
21-
use crate::utils::{snippet_block, snippet_block_with_applicability, span_lint_and_sugg, span_lint_and_then};
22-
use rustc_errors::Applicability;
23+
use crate::utils::{span_lint_and_sugg, span_lint_and_then};
2324

2425
declare_clippy_lint! {
2526
/// **What it does:** Checks for nested `if` statements which can be collapsed

clippy_lints/src/create_dir.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use crate::utils::{match_def_path, paths, snippet, span_lint_and_sugg};
1+
use crate::utils::{match_def_path, paths, span_lint_and_sugg};
2+
use clippy_utils::source::snippet;
23
use if_chain::if_chain;
34
use rustc_errors::Applicability;
45
use rustc_hir::{Expr, ExprKind};

clippy_lints/src/dbg_macro.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use crate::utils::{snippet_opt, span_lint_and_help, span_lint_and_sugg};
1+
use crate::utils::{span_lint_and_help, span_lint_and_sugg};
2+
use clippy_utils::source::snippet_opt;
23
use rustc_ast::ast;
34
use rustc_ast::tokenstream::TokenStream;
45
use rustc_errors::Applicability;

clippy_lints/src/default.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
use crate::utils::{
2-
any_parent_is_automatically_derived, contains_name, match_def_path, paths, snippet_with_macro_callsite,
3-
};
1+
use crate::utils::{any_parent_is_automatically_derived, contains_name, match_def_path, paths};
42
use crate::utils::{span_lint_and_note, span_lint_and_sugg};
3+
use clippy_utils::source::snippet_with_macro_callsite;
54
use if_chain::if_chain;
65
use rustc_data_structures::fx::FxHashSet;
76
use rustc_errors::Applicability;

clippy_lints/src/default_numeric_fallback.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use clippy_utils::source::snippet;
2+
use if_chain::if_chain;
13
use rustc_ast::ast::{LitFloatType, LitIntType, LitKind};
24
use rustc_errors::Applicability;
35
use rustc_hir::{
@@ -11,9 +13,7 @@ use rustc_middle::{
1113
};
1214
use rustc_session::{declare_lint_pass, declare_tool_lint};
1315

14-
use if_chain::if_chain;
15-
16-
use crate::utils::{snippet, span_lint_and_sugg};
16+
use crate::utils::span_lint_and_sugg;
1717

1818
declare_clippy_lint! {
1919
/// **What it does:** Checks for usage of unconstrained numeric literals which may cause default numeric fallback in type

clippy_lints/src/dereference.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use crate::utils::{get_parent_node, in_macro, is_allowed, snippet_with_context, span_lint_and_sugg};
1+
use crate::utils::{get_parent_node, in_macro, is_allowed, span_lint_and_sugg};
2+
use clippy_utils::source::snippet_with_context;
23
use clippy_utils::ty::peel_mid_ty_refs;
34
use rustc_ast::util::parser::PREC_PREFIX;
45
use rustc_errors::Applicability;

clippy_lints/src/double_comparison.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
//! Lint on unnecessary double comparisons. Some examples:
22
3+
use clippy_utils::source::snippet_with_applicability;
34
use rustc_errors::Applicability;
45
use rustc_hir::{BinOpKind, Expr, ExprKind};
56
use rustc_lint::{LateContext, LateLintPass};
67
use rustc_session::{declare_lint_pass, declare_tool_lint};
78
use rustc_span::source_map::Span;
89

9-
use crate::utils::{eq_expr_value, snippet_with_applicability, span_lint_and_sugg};
10+
use crate::utils::{eq_expr_value, span_lint_and_sugg};
1011

1112
declare_clippy_lint! {
1213
/// **What it does:** Checks for double comparisons that could be simplified to a single expression.

clippy_lints/src/duration_subsec.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use clippy_utils::source::snippet_with_applicability;
12
use clippy_utils::ty::match_type;
23
use if_chain::if_chain;
34
use rustc_errors::Applicability;
@@ -8,7 +9,7 @@ use rustc_span::source_map::Spanned;
89

910
use crate::consts::{constant, Constant};
1011
use crate::utils::paths;
11-
use crate::utils::{snippet_with_applicability, span_lint_and_sugg};
12+
use crate::utils::span_lint_and_sugg;
1213

1314
declare_clippy_lint! {
1415
/// **What it does:** Checks for calculation of subsecond microseconds or milliseconds

clippy_lints/src/entry.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
use crate::utils::span_lint_and_then;
12
use crate::utils::SpanlessEq;
2-
use crate::utils::{get_item_name, paths, snippet, snippet_opt};
3-
use crate::utils::{snippet_with_applicability, span_lint_and_then};
3+
use crate::utils::{get_item_name, paths};
4+
use clippy_utils::source::{snippet, snippet_opt, snippet_with_applicability};
45
use clippy_utils::ty::{is_type_diagnostic_item, match_type};
56
use if_chain::if_chain;
67
use rustc_errors::Applicability;

clippy_lints/src/enum_variants.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
//! lint on enum variants that are prefixed or suffixed by the same characters
22
3-
use crate::utils::{camel_case, is_present_in_source};
3+
use crate::utils::camel_case;
44
use crate::utils::{span_lint, span_lint_and_help};
5+
use clippy_utils::source::is_present_in_source;
56
use rustc_ast::ast::{EnumDef, Item, ItemKind, VisibilityKind};
67
use rustc_lint::{EarlyContext, EarlyLintPass, Lint};
78
use rustc_session::{declare_tool_lint, impl_lint_pass};

clippy_lints/src/eq_op.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
use crate::utils::{
2-
ast_utils::is_useless_with_eq_exprs, eq_expr_value, higher, in_macro, is_expn_of, multispan_sugg, snippet,
3-
span_lint, span_lint_and_then,
2+
ast_utils::is_useless_with_eq_exprs, eq_expr_value, higher, in_macro, is_expn_of, multispan_sugg, span_lint,
3+
span_lint_and_then,
44
};
5+
use clippy_utils::source::snippet;
56
use clippy_utils::ty::{implements_trait, is_copy};
67
use if_chain::if_chain;
78
use rustc_errors::Applicability;

clippy_lints/src/eta_reduction.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use clippy_utils::higher;
22
use clippy_utils::higher::VecArgs;
3+
use clippy_utils::source::snippet_opt;
34
use clippy_utils::ty::{implements_trait, type_is_unsafe_function};
45
use if_chain::if_chain;
56
use rustc_errors::Applicability;
@@ -9,7 +10,7 @@ use rustc_middle::lint::in_external_macro;
910
use rustc_middle::ty::{self, Ty};
1011
use rustc_session::{declare_lint_pass, declare_tool_lint};
1112

12-
use crate::utils::{is_adjusted, iter_input_pats, snippet_opt, span_lint_and_sugg, span_lint_and_then};
13+
use crate::utils::{is_adjusted, iter_input_pats, span_lint_and_sugg, span_lint_and_then};
1314

1415
declare_clippy_lint! {
1516
/// **What it does:** Checks for closures which just call another function where

clippy_lints/src/exhaustive_items.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
use crate::utils::{indent_of, span_lint_and_then};
1+
use clippy_utils::source::indent_of;
22
use if_chain::if_chain;
3+
34
use rustc_errors::Applicability;
45
use rustc_hir::{Item, ItemKind};
56
use rustc_lint::{LateContext, LateLintPass};
67
use rustc_session::{declare_lint_pass, declare_tool_lint};
78
use rustc_span::sym;
89

10+
use crate::utils::span_lint_and_then;
11+
912
declare_clippy_lint! {
1013
/// **What it does:** Warns on any exported `enum`s that are not tagged `#[non_exhaustive]`
1114
///

clippy_lints/src/format.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use crate::utils::paths;
2-
use crate::utils::{
3-
is_expn_of, last_path_segment, match_def_path, match_function_call, snippet, snippet_opt, span_lint_and_then,
4-
};
2+
use crate::utils::{is_expn_of, last_path_segment, match_def_path, match_function_call, span_lint_and_then};
3+
use clippy_utils::source::{snippet, snippet_opt};
54
use clippy_utils::ty::is_type_diagnostic_item;
65
use if_chain::if_chain;
76
use rustc_ast::ast::LitKind;

clippy_lints/src/formatting.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use crate::utils::{differing_macro_contexts, snippet_opt, span_lint_and_help, span_lint_and_note};
1+
use crate::utils::{differing_macro_contexts, span_lint_and_help, span_lint_and_note};
2+
use clippy_utils::source::snippet_opt;
23
use if_chain::if_chain;
34
use rustc_ast::ast::{BinOpKind, Block, Expr, ExprKind, StmtKind, UnOp};
45
use rustc_lint::{EarlyContext, EarlyLintPass};

clippy_lints/src/functions.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::utils::{
22
attr_by_name, attrs::is_proc_macro, is_trait_impl_item, iter_input_pats, match_def_path, must_use_attr,
3-
path_to_local, return_ty, snippet, snippet_opt, span_lint, span_lint_and_help, span_lint_and_then,
4-
trait_ref_of_method,
3+
path_to_local, return_ty, span_lint, span_lint_and_help, span_lint_and_then, trait_ref_of_method,
54
};
5+
use clippy_utils::source::{snippet, snippet_opt};
66
use clippy_utils::ty::{is_must_use_ty, is_type_diagnostic_item, type_is_unsafe_function};
77
use if_chain::if_chain;
88
use rustc_ast::ast::Attribute;

clippy_lints/src/get_last_with_len.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
//! lint on using `x.get(x.len() - 1)` instead of `x.last()`
22
3-
use crate::utils::{snippet_with_applicability, span_lint_and_sugg, SpanlessEq};
3+
use crate::utils::{span_lint_and_sugg, SpanlessEq};
4+
use clippy_utils::source::snippet_with_applicability;
45
use clippy_utils::ty::is_type_diagnostic_item;
56
use if_chain::if_chain;
67
use rustc_ast::ast::LitKind;

clippy_lints/src/identity_op.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use clippy_utils::source::snippet;
12
use if_chain::if_chain;
23
use rustc_hir::{BinOp, BinOpKind, Expr, ExprKind};
34
use rustc_lint::{LateContext, LateLintPass};
@@ -6,7 +7,7 @@ use rustc_session::{declare_lint_pass, declare_tool_lint};
67
use rustc_span::source_map::Span;
78

89
use crate::consts::{constant_simple, Constant};
9-
use crate::utils::{clip, snippet, span_lint, unsext};
10+
use crate::utils::{clip, span_lint, unsext};
1011

1112
declare_clippy_lint! {
1213
/// **What it does:** Checks for identity operations, e.g., `x + 0`.

clippy_lints/src/if_let_some_result.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use crate::utils::{method_chain_args, snippet_with_applicability, span_lint_and_sugg};
1+
use crate::utils::{method_chain_args, span_lint_and_sugg};
2+
use clippy_utils::source::snippet_with_applicability;
23
use clippy_utils::ty::is_type_diagnostic_item;
34
use if_chain::if_chain;
45
use rustc_errors::Applicability;

0 commit comments

Comments
 (0)