Skip to content

Commit 627363e

Browse files
authored
Reverse dependency between clippy_utils and clippy_config (#13691)
In preparation of #13556, I want to remove the dependency on `clippy_config`, as I don't think that we want to publish that for outside consumers. To do this the 2 dependecies on `clippy_config` had to be removed: 1. The MSRV implementation was in `clippy_config`, but was required in `qualify_min_const`. I think exposing the MSRV infrastructure and the MSRVs we defined might also be helpful for `clippy_utils` users. I don't see why it should not be able to live in `clippy_utils` from a technical point of few. 2. The `create_disallowed_map` function that took in a `clippy_utils::types::DisallowedPath` is moved to the `DisallowedPath` implementation. This also fits there and is only useful for Clippy and not in `clippy_utils` for external consumers. `clippy_config` now depends in `clippy_utils`, so the dependecy just got reversed. But having the `clippy_utils` crate as the base of the dependency tree in Clippy makes sense. changelog: none
2 parents 83f7526 + 5c1811a commit 627363e

File tree

98 files changed

+122
-121
lines changed

Some content is hidden

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

98 files changed

+122
-121
lines changed

book/src/development/adding_lints.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ need to ensure that the MSRV configured for the project is >= the MSRV of the
438438
required Rust feature. If multiple features are required, just use the one with
439439
a lower MSRV.
440440

441-
First, add an MSRV alias for the required feature in [`clippy_config::msrvs`].
441+
First, add an MSRV alias for the required feature in [`clippy_utils::msrvs`].
442442
This can be accessed later as `msrvs::STR_STRIP_PREFIX`, for example.
443443

444444
```rust
@@ -517,7 +517,7 @@ define_Conf! {
517517
}
518518
```
519519

520-
[`clippy_config::msrvs`]: https://doc.rust-lang.org/nightly/nightly-rustc/clippy_config/msrvs/index.html
520+
[`clippy_utils::msrvs`]: https://doc.rust-lang.org/nightly/nightly-rustc/clippy_config/msrvs/index.html
521521

522522
Afterwards update the documentation for the book as described in [Adding configuration to a lint](#adding-configuration-to-a-lint).
523523

clippy_config/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
name = "clippy_config"
33
version = "0.1.84"
44
edition = "2021"
5+
publish = false
56

67
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
78

89
[dependencies]
10+
clippy_utils = { path = "../clippy_utils" }
911
itertools = "0.12"
1012
serde = { version = "1.0", features = ["derive"] }
1113
toml = "0.7.3"

clippy_config/src/conf.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use crate::ClippyConfiguration;
2-
use crate::msrvs::Msrv;
32
use crate::types::{
43
DisallowedPath, MacroMatcher, MatchLintBehaviour, PubUnderscoreFieldsBehaviour, Rename, SourceItemOrdering,
54
SourceItemOrderingCategory, SourceItemOrderingModuleItemGroupings, SourceItemOrderingModuleItemKind,
65
SourceItemOrderingTraitAssocItemKind, SourceItemOrderingTraitAssocItemKinds,
76
};
7+
use clippy_utils::msrvs::Msrv;
88
use rustc_errors::Applicability;
99
use rustc_session::Session;
1010
use rustc_span::edit_distance::edit_distance;

clippy_config/src/lib.rs

+2-6
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,14 @@
1313
rustc::untranslatable_diagnostic
1414
)]
1515

16-
extern crate rustc_ast;
17-
extern crate rustc_attr;
18-
#[allow(unused_extern_crates)]
19-
extern crate rustc_driver;
2016
extern crate rustc_errors;
17+
extern crate rustc_hir;
18+
extern crate rustc_middle;
2119
extern crate rustc_session;
2220
extern crate rustc_span;
23-
extern crate smallvec;
2421

2522
mod conf;
2623
mod metadata;
27-
pub mod msrvs;
2824
pub mod types;
2925

3026
pub use conf::{Conf, get_configuration_metadata, lookup_conf_file, sanitize_explanation};

clippy_config/src/types.rs

+15
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
use clippy_utils::def_path_def_ids;
2+
use rustc_hir::def_id::DefIdMap;
3+
use rustc_middle::ty::TyCtxt;
14
use serde::de::{self, Deserializer, Visitor};
25
use serde::{Deserialize, Serialize, ser};
36
use std::collections::HashMap;
@@ -31,6 +34,18 @@ impl DisallowedPath {
3134
}
3235
}
3336

37+
/// Creates a map of disallowed items to the reason they were disallowed.
38+
pub fn create_disallowed_map(
39+
tcx: TyCtxt<'_>,
40+
disallowed: &'static [DisallowedPath],
41+
) -> DefIdMap<(&'static str, Option<&'static str>)> {
42+
disallowed
43+
.iter()
44+
.map(|x| (x.path(), x.path().split("::").collect::<Vec<_>>(), x.reason()))
45+
.flat_map(|(name, path, reason)| def_path_def_ids(tcx, &path).map(move |id| (id, (name, reason))))
46+
.collect()
47+
}
48+
3449
#[derive(Clone, Copy, Debug, PartialEq, Eq, Deserialize, Serialize)]
3550
pub enum MatchLintBehaviour {
3651
AllTypes,

clippy_dev/src/new_lint.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ fn get_lint_file_contents(lint: &LintData<'_>, enable_msrv: bool) -> String {
273273
result.push_str(&if enable_msrv {
274274
formatdoc!(
275275
r"
276-
use clippy_config::msrvs::{{self, Msrv}};
276+
use clippy_utils::msrvs::{{self, Msrv}};
277277
use clippy_config::Conf;
278278
{pass_import}
279279
use rustc_lint::{{{context_import}, {pass_type}, LintContext}};
@@ -399,7 +399,7 @@ fn create_lint_for_ty(lint: &LintData<'_>, enable_msrv: bool, ty: &str) -> io::R
399399
let _: fmt::Result = writedoc!(
400400
lint_file_contents,
401401
r#"
402-
use clippy_config::msrvs::{{self, Msrv}};
402+
use clippy_utils::msrvs::{{self, Msrv}};
403403
use rustc_lint::{{{context_import}, LintContext}};
404404
405405
use super::{name_upper};

clippy_lints/src/almost_complete_range.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::span_lint_and_then;
3+
use clippy_utils::msrvs::{self, Msrv};
44
use clippy_utils::source::{trim_span, walk_span_to_context};
55
use rustc_ast::ast::{Expr, ExprKind, LitKind, Pat, PatKind, RangeEnd, RangeLimits};
66
use rustc_errors::Applicability;

clippy_lints/src/approx_const.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::span_lint_and_help;
3+
use clippy_utils::msrvs::{self, Msrv};
44
use rustc_ast::ast::{FloatTy, LitFloatType, LitKind};
55
use rustc_hir::{Expr, ExprKind};
66
use rustc_lint::{LateContext, LateLintPass};

clippy_lints/src/assigning_clones.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::span_lint_and_then;
43
use clippy_utils::mir::{PossibleBorrowerMap, enclosing_mir};
4+
use clippy_utils::msrvs::{self, Msrv};
55
use clippy_utils::sugg::Sugg;
66
use clippy_utils::{is_diag_trait_item, is_in_test, last_path_segment, local_is_initialized, path_to_local};
77
use rustc_errors::Applicability;

clippy_lints/src/attrs/deprecated_cfg_attr.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use super::{Attribute, DEPRECATED_CFG_ATTR, DEPRECATED_CLIPPY_CFG_ATTR, unnecessary_clippy_cfg};
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::span_lint_and_sugg;
3+
use clippy_utils::msrvs::{self, Msrv};
44
use rustc_ast::AttrStyle;
55
use rustc_errors::Applicability;
66
use rustc_lint::EarlyContext;

clippy_lints/src/attrs/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ mod useless_attribute;
1313
mod utils;
1414

1515
use clippy_config::Conf;
16-
use clippy_config::msrvs::{self, Msrv};
16+
use clippy_utils::msrvs::{self, Msrv};
1717
use rustc_ast::{self as ast, Attribute, MetaItemInner, MetaItemKind};
1818
use rustc_hir::{ImplItem, Item, TraitItem};
1919
use rustc_lint::{EarlyContext, EarlyLintPass, LateContext, LateLintPass};

clippy_lints/src/await_holding_invalid.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use clippy_config::Conf;
2+
use clippy_config::types::create_disallowed_map;
23
use clippy_utils::diagnostics::span_lint_and_then;
3-
use clippy_utils::{create_disallowed_map, match_def_path, paths};
4+
use clippy_utils::{match_def_path, paths};
45
use rustc_hir as hir;
56
use rustc_hir::def_id::{DefId, DefIdMap};
67
use rustc_lint::{LateContext, LateLintPass};

clippy_lints/src/booleans.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::{span_lint_and_sugg, span_lint_hir_and_then};
43
use clippy_utils::eq_expr_value;
4+
use clippy_utils::msrvs::{self, Msrv};
55
use clippy_utils::source::SpanRangeExt;
66
use clippy_utils::ty::{implements_trait, is_type_diagnostic_item};
77
use rustc_ast::ast::LitKind;

clippy_lints/src/casts/cast_abs_to_unsigned.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use clippy_config::msrvs::{self, Msrv};
21
use clippy_utils::diagnostics::span_lint_and_sugg;
2+
use clippy_utils::msrvs::{self, Msrv};
33
use clippy_utils::sugg::Sugg;
44
use rustc_errors::Applicability;
55
use rustc_hir::{Expr, ExprKind};

clippy_lints/src/casts/cast_lossless.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use clippy_config::msrvs::{self, Msrv};
21
use clippy_utils::diagnostics::span_lint_and_then;
32
use clippy_utils::is_in_const_context;
3+
use clippy_utils::msrvs::{self, Msrv};
44
use clippy_utils::source::SpanRangeExt;
55
use clippy_utils::sugg::Sugg;
66
use clippy_utils::ty::is_isize_or_usize;

clippy_lints/src/casts/cast_slice_different_sizes.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use clippy_config::msrvs::{self, Msrv};
21
use clippy_utils::diagnostics::span_lint_and_then;
2+
use clippy_utils::msrvs::{self, Msrv};
33
use clippy_utils::source;
44
use rustc_ast::Mutability;
55
use rustc_hir::{Expr, ExprKind, Node};

clippy_lints/src/casts/cast_slice_from_raw_parts.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use clippy_config::msrvs::{self, Msrv};
21
use clippy_utils::diagnostics::span_lint_and_sugg;
2+
use clippy_utils::msrvs::{self, Msrv};
33
use clippy_utils::source::snippet_with_context;
44
use rustc_errors::Applicability;
55
use rustc_hir::def_id::DefId;

clippy_lints/src/casts/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ mod utils;
2424
mod zero_ptr;
2525

2626
use clippy_config::Conf;
27-
use clippy_config::msrvs::{self, Msrv};
2827
use clippy_utils::is_hir_ty_cfg_dependant;
28+
use clippy_utils::msrvs::{self, Msrv};
2929
use rustc_hir::{Expr, ExprKind};
3030
use rustc_lint::{LateContext, LateLintPass, LintContext};
3131
use rustc_middle::lint::in_external_macro;

clippy_lints/src/casts/ptr_as_ptr.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use clippy_config::msrvs::{self, Msrv};
21
use clippy_utils::diagnostics::span_lint_and_sugg;
2+
use clippy_utils::msrvs::{self, Msrv};
33
use clippy_utils::source::snippet_with_applicability;
44
use clippy_utils::sugg::Sugg;
55
use rustc_errors::Applicability;

clippy_lints/src/casts/ptr_cast_constness.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use clippy_config::msrvs::{self, Msrv};
21
use clippy_utils::diagnostics::span_lint_and_sugg;
2+
use clippy_utils::msrvs::{self, Msrv};
33
use clippy_utils::std_or_core;
44
use clippy_utils::sugg::Sugg;
55
use rustc_errors::Applicability;

clippy_lints/src/checked_conversions.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::span_lint_and_sugg;
3+
use clippy_utils::msrvs::{self, Msrv};
44
use clippy_utils::source::snippet_with_applicability;
55
use clippy_utils::{SpanlessEq, is_in_const_context, is_integer_literal};
66
use rustc_errors::Applicability;

clippy_lints/src/derivable_impls.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::span_lint_and_then;
3+
use clippy_utils::msrvs::{self, Msrv};
44
use clippy_utils::source::indent_of;
55
use clippy_utils::{is_default_equivalent, peel_blocks};
66
use rustc_errors::Applicability;

clippy_lints/src/disallowed_macros.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use clippy_config::Conf;
2-
use clippy_utils::create_disallowed_map;
2+
use clippy_config::types::create_disallowed_map;
33
use clippy_utils::diagnostics::{span_lint_and_then, span_lint_hir_and_then};
44
use clippy_utils::macros::macro_backtrace;
55
use rustc_data_structures::fx::FxHashSet;

clippy_lints/src/disallowed_methods.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use clippy_config::Conf;
2-
use clippy_utils::create_disallowed_map;
2+
use clippy_config::types::create_disallowed_map;
33
use clippy_utils::diagnostics::span_lint_and_then;
44
use rustc_hir::def::{CtorKind, DefKind, Res};
55
use rustc_hir::def_id::DefIdMap;

clippy_lints/src/format_args.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
use arrayvec::ArrayVec;
22
use clippy_config::Conf;
3-
use clippy_config::msrvs::{self, Msrv};
43
use clippy_utils::diagnostics::{span_lint_and_sugg, span_lint_and_then};
54
use clippy_utils::is_diag_trait_item;
65
use clippy_utils::macros::{
76
FormatArgsStorage, FormatParamUsage, MacroCall, find_format_arg_expr, format_arg_removal_span,
87
format_placeholder_format_span, is_assert_macro, is_format_macro, is_panic, matching_root_macro_call,
98
root_macro_call_first_node,
109
};
10+
use clippy_utils::msrvs::{self, Msrv};
1111
use clippy_utils::source::SpanRangeExt;
1212
use clippy_utils::ty::{implements_trait, is_type_lang_item};
1313
use itertools::Itertools;

clippy_lints/src/from_over_into.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use std::ops::ControlFlow;
22

33
use clippy_config::Conf;
4-
use clippy_config::msrvs::{self, Msrv};
54
use clippy_utils::diagnostics::span_lint_and_then;
65
use clippy_utils::macros::span_is_local;
6+
use clippy_utils::msrvs::{self, Msrv};
77
use clippy_utils::path_def_id;
88
use clippy_utils::source::SpanRangeExt;
99
use rustc_errors::Applicability;

clippy_lints/src/if_then_some_else_none.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::span_lint_and_then;
43
use clippy_utils::eager_or_lazy::switch_to_eager_eval;
4+
use clippy_utils::msrvs::{self, Msrv};
55
use clippy_utils::source::snippet_with_context;
66
use clippy_utils::sugg::Sugg;
77
use clippy_utils::{

clippy_lints/src/implicit_saturating_sub.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::{span_lint_and_sugg, span_lint_and_then};
3+
use clippy_utils::msrvs::{self, Msrv};
44
use clippy_utils::source::snippet_opt;
55
use clippy_utils::{
66
SpanlessEq, higher, is_in_const_context, is_integer_literal, path_to_local, peel_blocks, peel_blocks_with_stmt,

clippy_lints/src/incompatible_msrv.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::Msrv;
32
use clippy_utils::diagnostics::span_lint;
43
use clippy_utils::is_in_test;
4+
use clippy_utils::msrvs::Msrv;
55
use rustc_attr::{StabilityLevel, StableSince};
66
use rustc_data_structures::fx::FxHashMap;
77
use rustc_hir::{Expr, ExprKind, HirId};

clippy_lints/src/index_refutable_slice.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::consts::{ConstEvalCtxt, Constant};
43
use clippy_utils::diagnostics::span_lint_and_then;
54
use clippy_utils::higher::IfLet;
5+
use clippy_utils::msrvs::{self, Msrv};
66
use clippy_utils::ty::is_copy;
77
use clippy_utils::{is_expn_of, is_lint_allowed, path_to_local};
88
use rustc_data_structures::fx::{FxHashSet, FxIndexMap, FxIndexSet};

clippy_lints/src/instant_subtraction.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::span_lint_and_sugg;
3+
use clippy_utils::msrvs::{self, Msrv};
44
use clippy_utils::source::snippet_with_context;
55
use clippy_utils::sugg::Sugg;
66
use clippy_utils::ty;

clippy_lints/src/legacy_numeric_constants.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{Msrv, NUMERIC_ASSOCIATED_CONSTANTS};
32
use clippy_utils::diagnostics::{span_lint_and_then, span_lint_hir_and_then};
3+
use clippy_utils::msrvs::{self, Msrv};
44
use clippy_utils::{get_parent_expr, is_from_proc_macro};
55
use hir::def_id::DefId;
66
use rustc_errors::Applicability;
@@ -53,7 +53,7 @@ impl<'tcx> LateLintPass<'tcx> for LegacyNumericConstants {
5353
// Integer modules are "TBD" deprecated, and the contents are too,
5454
// so lint on the `use` statement directly.
5555
if let ItemKind::Use(path, kind @ (UseKind::Single | UseKind::Glob)) = item.kind
56-
&& self.msrv.meets(NUMERIC_ASSOCIATED_CONSTANTS)
56+
&& self.msrv.meets(msrvs::NUMERIC_ASSOCIATED_CONSTANTS)
5757
&& !in_external_macro(cx.sess(), item.span)
5858
&& let Some(def_id) = path.res[0].opt_def_id()
5959
{
@@ -138,7 +138,7 @@ impl<'tcx> LateLintPass<'tcx> for LegacyNumericConstants {
138138
return;
139139
};
140140

141-
if self.msrv.meets(NUMERIC_ASSOCIATED_CONSTANTS)
141+
if self.msrv.meets(msrvs::NUMERIC_ASSOCIATED_CONSTANTS)
142142
&& !in_external_macro(cx.sess(), expr.span)
143143
&& !is_from_proc_macro(cx, expr)
144144
{

clippy_lints/src/loops/explicit_iter_loop.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use super::EXPLICIT_ITER_LOOP;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::span_lint_and_sugg;
3+
use clippy_utils::msrvs::{self, Msrv};
44
use clippy_utils::source::snippet_with_applicability;
55
use clippy_utils::ty::{
66
implements_trait, implements_trait_with_env, is_copy, is_type_lang_item, make_normalized_projection,

clippy_lints/src/loops/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ mod while_let_loop;
2323
mod while_let_on_iterator;
2424

2525
use clippy_config::Conf;
26-
use clippy_config::msrvs::Msrv;
2726
use clippy_utils::higher;
27+
use clippy_utils::msrvs::Msrv;
2828
use rustc_ast::Label;
2929
use rustc_hir::{Expr, ExprKind, LoopSource, Pat};
3030
use rustc_lint::{LateContext, LateLintPass};

clippy_lints/src/manual_bits.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::diagnostics::span_lint_and_sugg;
43
use clippy_utils::get_parent_expr;
4+
use clippy_utils::msrvs::{self, Msrv};
55
use clippy_utils::source::snippet_with_context;
66
use rustc_ast::ast::LitKind;
77
use rustc_data_structures::packed::Pu128;

clippy_lints/src/manual_clamp.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use clippy_config::Conf;
2-
use clippy_config::msrvs::{self, Msrv};
32
use clippy_utils::consts::{ConstEvalCtxt, Constant};
43
use clippy_utils::diagnostics::{span_lint_and_then, span_lint_hir_and_then};
54
use clippy_utils::higher::If;
5+
use clippy_utils::msrvs::{self, Msrv};
66
use clippy_utils::sugg::Sugg;
77
use clippy_utils::ty::implements_trait;
88
use clippy_utils::visitors::is_const_evaluatable;

clippy_lints/src/manual_div_ceil.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use clippy_config::msrvs::{self, Msrv};
21
use clippy_utils::SpanlessEq;
32
use clippy_utils::diagnostics::span_lint_and_sugg;
3+
use clippy_utils::msrvs::{self, Msrv};
44
use clippy_utils::source::snippet_with_applicability;
55
use clippy_utils::sugg::Sugg;
66
use rustc_ast::{BinOpKind, LitKind};

0 commit comments

Comments
 (0)