Rollup merge of #62981 - estebank:issue-62843, r=Centril
Add note suggesting to borrow a String argument to find Fix #62843.
This commit is contained in:
commit
1a775b3b55
@ -137,6 +137,10 @@ pub trait Fn<Args> : FnMut<Args> {
|
||||
#[rustc_paren_sugar]
|
||||
#[rustc_on_unimplemented(
|
||||
on(Args="()", note="wrap the `{Self}` in a closure with no arguments: `|| {{ /* code */ }}"),
|
||||
on(
|
||||
all(Args="(char,)", _Self="std::string::String"),
|
||||
note="borrowing the `{Self}` might fix the problem"
|
||||
),
|
||||
message="expected a `{FnMut}<{Args}>` closure, found `{Self}`",
|
||||
label="expected an `FnMut<{Args}>` closure, found `{Self}`",
|
||||
)]
|
||||
|
5
src/test/ui/suggestions/issue-62843.rs
Normal file
5
src/test/ui/suggestions/issue-62843.rs
Normal file
@ -0,0 +1,5 @@
|
||||
fn main() {
|
||||
let line = String::from("abc");
|
||||
let pattern = String::from("bc");
|
||||
println!("{:?}", line.find(pattern)); //~ ERROR E0277
|
||||
}
|
13
src/test/ui/suggestions/issue-62843.stderr
Normal file
13
src/test/ui/suggestions/issue-62843.stderr
Normal file
@ -0,0 +1,13 @@
|
||||
error[E0277]: expected a `std::ops::FnMut<(char,)>` closure, found `std::string::String`
|
||||
--> $DIR/issue-62843.rs:4:27
|
||||
|
|
||||
LL | println!("{:?}", line.find(pattern));
|
||||
| ^^^^ expected an `FnMut<(char,)>` closure, found `std::string::String`
|
||||
|
|
||||
= help: the trait `std::ops::FnMut<(char,)>` is not implemented for `std::string::String`
|
||||
= note: borrowing the `std::string::String` might fix the problem
|
||||
= note: required because of the requirements on the impl of `std::str::pattern::Pattern<'_>` for `std::string::String`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0277`.
|
Loading…
Reference in New Issue
Block a user