Skip to content

Commit 4914f59

Browse files
committed
Remove is_type_diagnostic_item
1 parent cb32444 commit 4914f59

File tree

106 files changed

+349
-298
lines changed

Some content is hidden

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

106 files changed

+349
-298
lines changed

clippy_lints/src/arc_with_non_send_sync.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use clippy_utils::diagnostics::span_lint_and_then;
22
use clippy_utils::is_from_proc_macro;
3-
use clippy_utils::ty::{implements_trait, is_type_diagnostic_item};
3+
use clippy_utils::res::MaybeDef;
4+
use clippy_utils::ty::implements_trait;
45
use rustc_hir::{Expr, ExprKind, QPath};
56
use rustc_lint::{LateContext, LateLintPass};
67
use rustc_middle::ty;
@@ -46,7 +47,7 @@ impl<'tcx> LateLintPass<'tcx> for ArcWithNonSendSync {
4647
&& let ExprKind::Path(QPath::TypeRelative(func_ty, func_name)) = func.kind
4748
&& func_name.ident.name == sym::new
4849
&& !expr.span.from_expansion()
49-
&& is_type_diagnostic_item(cx, cx.typeck_results().node_type(func_ty.hir_id), sym::Arc)
50+
&& cx.typeck_results().node_type(func_ty.hir_id).is_diag_item(cx, sym::Arc)
5051
&& let arg_ty = cx.typeck_results().expr_ty(arg)
5152
// make sure that the type is not and does not contain any type parameters
5253
&& arg_ty.walk().all(|arg| {

clippy_lints/src/assertions_on_result_states.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
use clippy_utils::diagnostics::span_lint_and_then;
22
use clippy_utils::macros::{PanicExpn, find_assert_args, root_macro_call_first_node};
3+
use clippy_utils::res::MaybeDef;
34
use clippy_utils::source::snippet_with_context;
4-
use clippy_utils::ty::{has_debug_impl, is_copy, is_type_diagnostic_item};
5+
use clippy_utils::ty::{has_debug_impl, is_copy};
56
use clippy_utils::usage::local_used_after_expr;
67
use clippy_utils::{path_res, sym};
78
use rustc_errors::Applicability;
@@ -55,7 +56,7 @@ impl<'tcx> LateLintPass<'tcx> for AssertionsOnResultStates {
5556
&& let ExprKind::MethodCall(method_segment, recv, [], _) = condition.kind
5657
&& let result_type_with_refs = cx.typeck_results().expr_ty(recv)
5758
&& let result_type = result_type_with_refs.peel_refs()
58-
&& is_type_diagnostic_item(cx, result_type, sym::Result)
59+
&& result_type.is_diag_item(cx, sym::Result)
5960
&& let ty::Adt(_, args) = result_type.kind()
6061
{
6162
if !is_copy(cx, result_type) {

clippy_lints/src/booleans.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ use clippy_config::Conf;
22
use clippy_utils::diagnostics::{span_lint_and_sugg, span_lint_hir_and_then};
33
use clippy_utils::higher::has_let_expr;
44
use clippy_utils::msrvs::{self, Msrv};
5+
use clippy_utils::res::MaybeDef;
56
use clippy_utils::source::SpanRangeExt;
67
use clippy_utils::sugg::Sugg;
7-
use clippy_utils::ty::{implements_trait, is_type_diagnostic_item};
8+
use clippy_utils::ty::implements_trait;
89
use clippy_utils::{eq_expr_value, sym};
910
use rustc_ast::ast::LitKind;
1011
use rustc_errors::Applicability;
@@ -431,9 +432,7 @@ fn simplify_not(cx: &LateContext<'_>, curr_msrv: Msrv, expr: &Expr<'_>) -> Optio
431432
},
432433
ExprKind::MethodCall(path, receiver, args, _) => {
433434
let type_of_receiver = cx.typeck_results().expr_ty(receiver);
434-
if !is_type_diagnostic_item(cx, type_of_receiver, sym::Option)
435-
&& !is_type_diagnostic_item(cx, type_of_receiver, sym::Result)
436-
{
435+
if !type_of_receiver.is_diag_item(cx, sym::Option) && !type_of_receiver.is_diag_item(cx, sym::Result) {
437436
return None;
438437
}
439438
METHODS_WITH_NEGATION

clippy_lints/src/cognitive_complexity.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use clippy_config::Conf;
22
use clippy_utils::diagnostics::span_lint_and_help;
3+
use clippy_utils::res::MaybeDef;
34
use clippy_utils::source::{IntoSpan, SpanRangeExt};
4-
use clippy_utils::ty::is_type_diagnostic_item;
55
use clippy_utils::visitors::for_each_expr_without_closures;
66
use clippy_utils::{LimitStack, get_async_fn_body, sym};
77
use core::ops::ControlFlow;
@@ -93,7 +93,7 @@ impl CognitiveComplexity {
9393
});
9494

9595
let ret_ty = cx.typeck_results().node_type(expr.hir_id);
96-
let ret_adjust = if is_type_diagnostic_item(cx, ret_ty, sym::Result) {
96+
let ret_adjust = if ret_ty.is_diag_item(cx, sym::Result) {
9797
returns
9898
} else {
9999
#[expect(clippy::integer_division)]

clippy_lints/src/doc/missing_headers.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
use super::{DocHeaders, MISSING_ERRORS_DOC, MISSING_PANICS_DOC, MISSING_SAFETY_DOC, UNNECESSARY_SAFETY_DOC};
22
use clippy_utils::diagnostics::{span_lint, span_lint_and_note};
33
use clippy_utils::macros::{is_panic, root_macro_call_first_node};
4-
use clippy_utils::ty::{get_type_diagnostic_name, implements_trait_with_env, is_type_diagnostic_item};
4+
use clippy_utils::res::MaybeDef;
5+
use clippy_utils::ty::{get_type_diagnostic_name, implements_trait_with_env};
56
use clippy_utils::visitors::for_each_expr;
67
use clippy_utils::{fulfill_or_allowed, is_doc_hidden, is_inside_always_const_context, method_chain_args, return_ty};
78
use rustc_hir::{BodyId, FnSig, OwnerId, Safety};
@@ -62,7 +63,7 @@ pub fn check(
6263
);
6364
}
6465
if !headers.errors {
65-
if is_type_diagnostic_item(cx, return_ty(cx, owner_id), sym::Result) {
66+
if return_ty(cx, owner_id).is_diag_item(cx, sym::Result) {
6667
span_lint(
6768
cx,
6869
MISSING_ERRORS_DOC,
@@ -83,7 +84,7 @@ pub fn check(
8384
&[],
8485
)
8586
&& let ty::Coroutine(_, subs) = ret_ty.kind()
86-
&& is_type_diagnostic_item(cx, subs.as_coroutine().return_ty(), sym::Result)
87+
&& subs.as_coroutine().return_ty().is_diag_item(cx, sym::Result)
8788
{
8889
span_lint(
8990
cx,

clippy_lints/src/fallible_impl_from.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use clippy_utils::diagnostics::span_lint_and_then;
22
use clippy_utils::macros::{is_panic, root_macro_call_first_node};
33
use clippy_utils::method_chain_args;
4-
use clippy_utils::ty::is_type_diagnostic_item;
4+
use clippy_utils::res::MaybeDef;
55
use rustc_hir as hir;
66
use rustc_lint::{LateContext, LateLintPass};
77
use rustc_middle::ty;
@@ -84,9 +84,7 @@ fn lint_impl_body(cx: &LateContext<'_>, item_def_id: hir::OwnerId, impl_span: Sp
8484
// check for `unwrap`
8585
if let Some(arglists) = method_chain_args(expr, &[sym::unwrap]) {
8686
let receiver_ty = self.typeck_results.expr_ty(arglists[0].0).peel_refs();
87-
if is_type_diagnostic_item(self.lcx, receiver_ty, sym::Option)
88-
|| is_type_diagnostic_item(self.lcx, receiver_ty, sym::Result)
89-
{
87+
if receiver_ty.is_diag_item(self.lcx, sym::Option) || receiver_ty.is_diag_item(self.lcx, sym::Result) {
9088
self.result.push(expr.span);
9189
}
9290
}

clippy_lints/src/functions/result.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
use clippy_utils::msrvs::{self, Msrv};
2+
use clippy_utils::res::MaybeDef;
23
use rustc_errors::Diag;
34
use rustc_hir as hir;
45
use rustc_lint::{LateContext, LintContext};
56
use rustc_middle::ty::{self, Ty};
67
use rustc_span::{Span, sym};
78

89
use clippy_utils::diagnostics::{span_lint_and_help, span_lint_and_then};
9-
use clippy_utils::ty::{AdtVariantInfo, approx_ty_size, is_type_diagnostic_item};
10+
use clippy_utils::ty::{AdtVariantInfo, approx_ty_size};
1011
use clippy_utils::{is_no_std_crate, trait_ref_of_method};
1112

1213
use super::{RESULT_LARGE_ERR, RESULT_UNIT_ERR};
@@ -24,7 +25,7 @@ fn result_err_ty<'tcx>(
2425
&& let ty = cx
2526
.tcx
2627
.instantiate_bound_regions_with_erased(cx.tcx.fn_sig(id).instantiate_identity().output())
27-
&& is_type_diagnostic_item(cx, ty, sym::Result)
28+
&& ty.is_diag_item(cx, sym::Result)
2829
&& let ty::Adt(_, args) = ty.kind()
2930
{
3031
let err_ty = args.type_at(1);

clippy_lints/src/if_let_mutex.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use clippy_utils::diagnostics::span_lint_and_then;
2-
use clippy_utils::ty::is_type_diagnostic_item;
2+
use clippy_utils::res::MaybeDef;
33
use clippy_utils::visitors::for_each_expr_without_closures;
44
use clippy_utils::{eq_expr_value, higher, sym};
55
use core::ops::ControlFlow;
@@ -95,7 +95,7 @@ fn mutex_lock_call<'tcx>(
9595
if let ExprKind::MethodCall(path, self_arg, [], _) = &expr.kind
9696
&& path.ident.name == sym::lock
9797
&& let ty = cx.typeck_results().expr_ty(self_arg).peel_refs()
98-
&& is_type_diagnostic_item(cx, ty, sym::Mutex)
98+
&& ty.is_diag_item(cx, sym::Mutex)
9999
&& op_mutex.is_none_or(|op| eq_expr_value(cx, self_arg, op))
100100
{
101101
ControlFlow::Break(self_arg)

clippy_lints/src/implicit_hasher.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::borrow::Cow;
22
use std::collections::BTreeMap;
33

4+
use clippy_utils::res::MaybeDef;
45
use rustc_errors::{Applicability, Diag};
56
use rustc_hir::intravisit::{Visitor, VisitorExt, walk_body, walk_expr, walk_ty};
67
use rustc_hir::{self as hir, AmbigArg, Body, Expr, ExprKind, GenericArg, Item, ItemKind, QPath, TyKind};
@@ -14,7 +15,6 @@ use rustc_span::Span;
1415
use clippy_utils::diagnostics::span_lint_and_then;
1516
use clippy_utils::source::{IntoSpan, SpanRangeExt, snippet};
1617
use clippy_utils::sym;
17-
use clippy_utils::ty::is_type_diagnostic_item;
1818

1919
declare_clippy_lint! {
2020
/// ### What it does
@@ -227,14 +227,14 @@ impl<'tcx> ImplicitHasherType<'tcx> {
227227

228228
let ty = lower_ty(cx.tcx, hir_ty);
229229

230-
if is_type_diagnostic_item(cx, ty, sym::HashMap) && params_len == 2 {
230+
if ty.is_diag_item(cx, sym::HashMap) && params_len == 2 {
231231
Some(ImplicitHasherType::HashMap(
232232
hir_ty.span,
233233
ty,
234234
snippet(cx, params[0].span, "K"),
235235
snippet(cx, params[1].span, "V"),
236236
))
237-
} else if is_type_diagnostic_item(cx, ty, sym::HashSet) && params_len == 1 {
237+
} else if ty.is_diag_item(cx, sym::HashSet) && params_len == 1 {
238238
Some(ImplicitHasherType::HashSet(
239239
hir_ty.span,
240240
ty,

clippy_lints/src/ineffective_open_options.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use clippy_utils::diagnostics::span_lint_and_sugg;
2+
use clippy_utils::res::MaybeDef;
23
use clippy_utils::source::SpanRangeExt;
3-
use clippy_utils::ty::is_type_diagnostic_item;
44
use clippy_utils::{peel_blocks, peel_hir_expr_while, sym};
55
use rustc_ast::LitKind;
66
use rustc_errors::Applicability;
@@ -47,7 +47,11 @@ impl<'tcx> LateLintPass<'tcx> for IneffectiveOpenOptions {
4747
if let ExprKind::MethodCall(name, recv, [_], _) = expr.kind
4848
&& name.ident.name == sym::open
4949
&& !expr.span.from_expansion()
50-
&& is_type_diagnostic_item(cx, cx.typeck_results().expr_ty(recv).peel_refs(), sym::FsOpenOptions)
50+
&& cx
51+
.typeck_results()
52+
.expr_ty(recv)
53+
.peel_refs()
54+
.is_diag_item(cx, sym::FsOpenOptions)
5155
{
5256
let mut append = false;
5357
let mut write = None;

0 commit comments

Comments
 (0)