mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-02 15:32:06 +00:00
9b3fcf9ad4
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
12 lines
380 B
Rust
12 lines
380 B
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()); //~ ERROR type annotations needed
|
|
//~| HELP try using a fully qualified path to specify the expected types
|
|
//~| HELP consider removing this method call, as the receiver has type `Bar` and `Bar: From<Bar>` trivially holds
|
|
}
|