Esteban Küber
9b3fcf9ad4
Detect when method call on argument could be removed to fulfill failed trait bound
When encountering
```rust
struct Foo;
struct Bar;
impl From<Bar> for Foo {
fn from(_: Bar) -> Self { Foo }
}
fn qux(_: impl From<Bar>) {}
fn main() {
qux(Bar.into());
}
```
Suggest removing `.into()`:
```
error[E0283]: type annotations needed
--> f100.rs:8:13
|
8 | qux(Bar.into());
| --- ^^^^
| |
| required by a bound introduced by this call
|
= note: cannot satisfy `_: From<Bar>`
note: required by a bound in `qux`
--> f100.rs:6:16
|
6 | fn qux(_: impl From<Bar>) {}
| ^^^^^^^^^ required by this bound in `qux`
help: try using a fully qualified path to specify the expected types
|
8 | qux(<Bar as Into<T>>::into(Bar));
| +++++++++++++++++++++++ ~
help: consider removing this method call, as the receiver has type `Bar` and `Bar: From<Bar>` can be fulfilled
|
8 - qux(Bar.into());
8 + qux(Bar);
|
```
Fix #71252
2024-02-16 04:28:05 +00:00
..
2024-02-16 00:27:32 +01:00
2024-02-16 00:27:32 +01:00
2024-02-15 09:35:11 +11:00
2024-02-16 00:27:32 +01:00
2024-02-15 12:36:37 +00:00
2024-02-15 14:46:08 +11:00
2024-02-09 15:34:48 +00:00
2024-02-09 14:41:50 +01:00
2024-02-15 17:00:55 +00:00
2024-02-15 12:36:37 +00:00
2024-02-15 12:36:37 +00:00
2024-02-15 12:36:37 +00:00
2024-02-09 14:41:50 +01:00
2024-02-12 15:46:35 +09:00
2024-02-13 09:33:35 +11:00
2024-02-15 17:00:55 +00:00
2024-02-16 00:27:32 +01:00
2024-02-12 23:18:54 +01:00
2024-02-12 23:18:54 +01:00
2024-02-15 17:00:55 +00:00
2024-02-12 12:47:23 +08:00
2024-02-16 00:27:34 +01:00
2024-02-12 09:42:41 +00:00
2024-02-08 07:44:34 -05:00
2024-02-15 17:20:44 +00:00
2024-02-14 18:36:37 +08:00
2024-02-15 17:00:55 +00:00
2024-02-13 21:03:34 +00:00
2024-02-13 21:13:06 +00:00
2024-02-09 14:41:50 +01:00
2024-02-15 10:25:18 +00:00
2024-02-16 00:27:34 +01:00
2024-02-15 14:46:08 +11:00
2024-02-13 06:27:38 +01:00
2024-02-16 00:27:35 +01:00
2024-02-15 12:36:37 +00:00
2024-02-13 15:53:15 +00:00
2024-02-16 00:27:32 +01:00
2024-02-15 09:35:11 +11:00
2024-02-13 00:31:53 +00:00
2024-02-12 15:46:35 +09:00
2024-02-14 20:30:37 +11:00
2024-02-15 09:20:20 +01:00
2024-02-15 17:00:55 +00:00
2024-02-15 09:20:18 +01:00
2024-02-12 23:18:54 +01:00
2024-02-12 23:18:54 +01:00
2024-02-15 14:36:29 +00:00
2024-02-16 04:28:05 +00:00
2024-02-12 15:46:35 +09:00
2024-02-13 02:48:49 +00:00
2024-02-13 15:53:15 +00:00
2024-02-15 09:20:18 +01:00