about summary refs log tree commit diff
path: root/clippy_utils
diff options
context:
space:
mode:
authory21 <30553356+y21@users.noreply.github.com>2023-08-14 19:10:33 +0200
committery21 <30553356+y21@users.noreply.github.com>2023-08-14 19:10:33 +0200
commitf746e1916999810a1e643077fcb677b077e31bc4 (patch)
tree88a920e5f364ba0b8dc55ca6463afa315d370f20 /clippy_utils
parentb5bfd1176b3d0de03e63c8d0b244ef61b30067d8 (diff)
allow trait alias DefIds in `implements_trait_with_env_from_iter`
Diffstat (limited to 'clippy_utils')
-rw-r--r--clippy_utils/src/lib.rs1
-rw-r--r--clippy_utils/src/ty.rs7
2 files changed, 7 insertions, 1 deletions
diff --git a/clippy_utils/src/lib.rs b/clippy_utils/src/lib.rs
index 171b7faf219..64b24c56121 100644
--- a/clippy_utils/src/lib.rs
+++ b/clippy_utils/src/lib.rs
@@ -5,6 +5,7 @@
 #![feature(lint_reasons)]
 #![feature(never_type)]
 #![feature(rustc_private)]
+#![feature(assert_matches)]
 #![recursion_limit = "512"]
 #![cfg_attr(feature = "deny-warnings", deny(warnings))]
 #![allow(clippy::missing_errors_doc, clippy::missing_panics_doc, clippy::must_use_candidate)]
diff --git a/clippy_utils/src/ty.rs b/clippy_utils/src/ty.rs
index a05f682aa8c..f0b4ede35fb 100644
--- a/clippy_utils/src/ty.rs
+++ b/clippy_utils/src/ty.rs
@@ -27,6 +27,7 @@ use rustc_target::abi::{Size, VariantIdx};
 use rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt as _;
 use rustc_trait_selection::traits::query::normalize::QueryNormalizeExt;
 use rustc_trait_selection::traits::{Obligation, ObligationCause};
+use std::assert_matches::debug_assert_matches;
 use std::iter;
 
 use crate::{match_def_path, path_res, paths};
@@ -259,7 +260,11 @@ pub fn implements_trait_with_env_from_iter<'tcx>(
             })),
     );
 
-    debug_assert_eq!(tcx.def_kind(trait_id), DefKind::Trait);
+    debug_assert_matches!(
+        tcx.def_kind(trait_id),
+        DefKind::Trait | DefKind::TraitAlias,
+        "`DefId` must belong to a trait or trait alias"
+    );
     #[cfg(debug_assertions)]
     assert_generic_args_match(tcx, trait_id, trait_ref.args);