mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-10 23:24:24 +00:00
Auto merge of #11509 - mojave2:issue-11502, r=llogiq
fix FP of let_unit_value on async fn args changelog: [`let_unit_value`]: fix the FalsePostive on async fn arguments fix #11502
This commit is contained in:
commit
f54275f20f
3 changed files with 6 additions and 1 deletions
|
@ -7,7 +7,7 @@ use rustc_errors::Applicability;
|
|||
use rustc_hir::def::{DefKind, Res};
|
||||
use rustc_hir::{Expr, ExprKind, HirId, HirIdSet, Local, MatchSource, Node, PatKind, QPath, TyKind};
|
||||
use rustc_lint::{LateContext, LintContext};
|
||||
use rustc_middle::lint::in_external_macro;
|
||||
use rustc_middle::lint::{in_external_macro, is_from_async_await};
|
||||
use rustc_middle::ty;
|
||||
|
||||
use super::LET_UNIT_VALUE;
|
||||
|
@ -16,6 +16,7 @@ pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, local: &'tcx Local<'_>) {
|
|||
if let Some(init) = local.init
|
||||
&& !local.pat.span.from_expansion()
|
||||
&& !in_external_macro(cx.sess(), local.span)
|
||||
&& !is_from_async_await(local.span)
|
||||
&& cx.typeck_results().pat_ty(local.pat).is_unit()
|
||||
{
|
||||
if (local.ty.map_or(false, |ty| !matches!(ty.kind, TyKind::Infer))
|
||||
|
|
|
@ -177,3 +177,5 @@ fn attributes() {
|
|||
async fn issue10433() {
|
||||
let _pending: () = std::future::pending().await;
|
||||
}
|
||||
|
||||
pub async fn issue11502(a: ()) {}
|
||||
|
|
|
@ -177,3 +177,5 @@ fn attributes() {
|
|||
async fn issue10433() {
|
||||
let _pending: () = std::future::pending().await;
|
||||
}
|
||||
|
||||
pub async fn issue11502(a: ()) {}
|
||||
|
|
Loading…
Reference in a new issue