]> git.lizzy.rs Git - rust.git/blobdiff - src/tools/clippy/clippy_lints/src/from_over_into.rs
Rollup merge of #105837 - compiler-errors:issue-105728, r=estebank
[rust.git] / src / tools / clippy / clippy_lints / src / from_over_into.rs
index 0634b2798fefee63669f0a2325e9e89b8332ca7a..a92f7548ff254d16a2f51b255675650d139e8734 100644 (file)
@@ -10,7 +10,7 @@
     TyKind,
 };
 use rustc_lint::{LateContext, LateLintPass};
-use rustc_middle::hir::nested_filter::OnlyBodies;
+use rustc_middle::{hir::nested_filter::OnlyBodies, ty};
 use rustc_session::{declare_tool_lint, impl_lint_pass};
 use rustc_span::symbol::{kw, sym};
 use rustc_span::{Span, Symbol};
@@ -78,6 +78,7 @@ fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx Item<'_>) {
             && let Some(GenericArgs { args: [GenericArg::Type(target_ty)], .. }) = into_trait_seg.args
             && let Some(middle_trait_ref) = cx.tcx.impl_trait_ref(item.owner_id)
             && cx.tcx.is_diagnostic_item(sym::Into, middle_trait_ref.def_id)
+            && !matches!(middle_trait_ref.substs.type_at(1).kind(), ty::Alias(ty::Opaque, _))
         {
             span_lint_and_then(
                 cx,