Add suggestion to use &*var when &str: From<String> is expected

This commit is contained in:
Esteban Küber 2019-03-17 22:42:51 -07:00
parent 9f91bee03f
commit ac3290e8d9
4 changed files with 41 additions and 0 deletions

View file

@ -0,0 +1,6 @@
fn foo<'a, T>(_t: T) where T: Into<&'a str> {}
fn main() {
foo(String::new());
//~^ ERROR the trait bound `&str: std::convert::From<std::string::String>` is not satisfied
}

View file

@ -0,0 +1,17 @@
error[E0277]: the trait bound `&str: std::convert::From<std::string::String>` is not satisfied
--> $DIR/into-str.rs:4:5
|
LL | foo(String::new());
| ^^^ the trait `std::convert::From<std::string::String>` is not implemented for `&str`
|
= note: you can coerce a `std::string::String` into a `&str` by writing `&*variable`
= note: required because of the requirements on the impl of `std::convert::Into<&str>` for `std::string::String`
note: required by `foo`
--> $DIR/into-str.rs:1:1
|
LL | fn foo<'a, T>(_t: T) where T: Into<&'a str> {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error
For more information about this error, try `rustc --explain E0277`.