From 9b040e92aa6d73c6c62ed1c12b59f40eed398aa4 Mon Sep 17 00:00:00 2001 From: Urgau Date: Tue, 26 Nov 2024 21:25:27 +0100 Subject: [PATCH] Avoid decoding from metadata if not necessary --- compiler/rustc_lint/src/dangling.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/rustc_lint/src/dangling.rs b/compiler/rustc_lint/src/dangling.rs index e3e51ba263d0f..7b6e79f7137e8 100644 --- a/compiler/rustc_lint/src/dangling.rs +++ b/compiler/rustc_lint/src/dangling.rs @@ -130,9 +130,9 @@ impl DanglingPointerSearcher<'_, '_> { fn lint_expr(cx: &LateContext<'_>, expr: &Expr<'_>) { if let ExprKind::MethodCall(method, receiver, _args, _span) = expr.kind + && is_temporary_rvalue(receiver) && let Some(fn_id) = cx.typeck_results().type_dependent_def_id(expr.hir_id) && cx.tcx.has_attr(fn_id, sym::rustc_as_ptr) - && is_temporary_rvalue(receiver) && let ty = cx.typeck_results().expr_ty(receiver) && owns_allocation(cx.tcx, ty) {