mirror of
https://github.com/rust-lang/rust.git
synced 2025-11-01 13:34:38 +00:00
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
20 lines
813 B
Plaintext
20 lines
813 B
Plaintext
error[E0277]: the trait bound `Option<&str>: AsRef<Path>` is not satisfied
|
|
--> $DIR/issue-72442.rs:12:36
|
|
|
|
|
LL | let mut f = File::open(path.to_str())?;
|
|
| ---------- ^^^^^^^^^^^^^ the trait `AsRef<Path>` is not implemented for `Option<&str>`
|
|
| |
|
|
| required by a bound introduced by this call
|
|
|
|
|
note: required by a bound in `File::open`
|
|
--> $SRC_DIR/std/src/fs.rs:LL:COL
|
|
help: consider removing this method call, as the receiver has type `&Path` and `&Path: AsRef<Path>` trivially holds
|
|
|
|
|
LL - let mut f = File::open(path.to_str())?;
|
|
LL + let mut f = File::open(path)?;
|
|
|
|
|
|
|
error: aborting due to 1 previous error
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|