Files
rust/clippy_lints/src
bors e8403a892b Auto merge of #11200 - y21:issue9695, r=Jarcho
[`unused_async`]: don't lint if paths reference async fn without immediate call

Fixes #9695
Fixes #9359

Clippy shouldn't lint unused `async` if there are paths referencing them if that path isn't the receiver of a function call, because that means that the function might be passed to some other function:
```rs
async fn f() {} // No await statements, so unused at this point

fn requires_fn_future<F: Future<Output = ()>>(_: fn() -> F) {}
requires_fn_future(f); // `f`'s asyncness is actually not unused.
```
(This isn't limited to just passing the function as a parameter to another function, it could also first be stored in a variable and later passed to another function as an argument)

This requires delaying the linting until post-crate and collecting path references to local async functions along the way.

changelog: [`unused_async`]: don't lint if paths reference async fn that require asyncness
2023-07-22 20:40:48 +00:00
..
2023-07-22 06:28:05 -05:00
2023-07-22 06:28:05 -05:00
2023-07-21 17:26:58 -05:00
2023-07-21 17:26:58 -05:00
2023-07-22 06:28:05 -05:00
2023-07-01 07:08:01 -04:00
2023-07-01 07:08:01 -04:00
2023-07-21 17:26:58 -05:00
2023-07-01 07:08:01 -04:00
2022-12-28 18:52:36 +01:00
2022-01-23 19:31:32 +08:00
2023-07-21 18:14:03 -07:00
2023-03-28 01:14:28 +00:00
2023-07-01 07:08:01 -04:00
2023-07-05 18:29:43 +00:00
2022-04-30 13:51:49 +02:00
2023-07-01 07:08:01 -04:00
2023-07-01 07:08:01 -04:00