bors 097261f241 Auto merge of #118054 - max-niederman:pinned-must-use, r=Nilstrieb
Lint pinned `#[must_use]` pointers (in particular, `Box<T>` where `T` is `#[must_use]`) in `unused_must_use`.

Fixes: #111458

This is motivated by a common async/await pattern:

```rs
fn foo() -> Pin<Box<dyn Future<Output = i32>>> {
    Box::pin(async { 42 })
}

// call `foo`, but forget to await the result
foo();
```

Unlike with `async fn` or return position `impl Future`, this does not currently warn the user that the `Future` is unused.

To fix this, I've extended the `unused_must_use` lint to catch `Pin<P>`, where `P` must be used. In particular, this applies to `Pin<Box<T>>`, where `T` must be used. I'm not sure if there are other pointers where this applies, but I can't think of any situation the user wouldn't want to be warned.
2023-11-19 12:23:59 +00:00
..
2023-10-30 22:19:17 +00:00
2023-10-30 22:19:17 +00:00
2023-10-28 23:11:03 -07:00
2023-11-13 16:25:16 -08:00
2023-10-28 23:11:03 -07:00
2023-11-16 17:00:23 +00:00
2023-11-09 10:40:55 -05:00
2023-11-02 18:16:37 +01:00
2023-11-16 17:00:23 +00:00
2023-11-16 17:00:23 +00:00
2023-10-28 23:11:03 -07:00
2023-11-14 13:41:28 +00:00
2023-10-28 23:11:03 -07:00
2023-11-07 05:23:09 +00:00
2023-11-16 17:00:23 +00:00
2023-11-16 17:00:23 +00:00