summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs4
-rw-r--r--src/test/ui/anonymous-higher-ranked-lifetime.stderr36
-rw-r--r--src/test/ui/closures/multiple-fn-bounds.stderr4
-rw-r--r--src/test/ui/mismatched_types/closure-arg-type-mismatch.stderr2
-rw-r--r--src/test/ui/mismatched_types/issue-36053-2.stderr2
5 files changed, 26 insertions, 22 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs b/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs
index f9a63841a70..f20cecdb74f 100644
--- a/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs
+++ b/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs
@@ -3449,11 +3449,11 @@ fn hint_missing_borrow<'tcx>(
if found_ty == expected_ty {
let hint = if found_refs < expected_refs {
- "consider borrowing here:"
+ "consider borrowing the argument"
} else if found_refs == expected_refs {
continue;
} else {
- "consider removing the borrow:"
+ "do not borrow the argument"
};
err.span_suggestion_verbose(
arg_span,
diff --git a/src/test/ui/anonymous-higher-ranked-lifetime.stderr b/src/test/ui/anonymous-higher-ranked-lifetime.stderr
index 499ee1f9b5b..2e5f7a51b6e 100644
--- a/src/test/ui/anonymous-higher-ranked-lifetime.stderr
+++ b/src/test/ui/anonymous-higher-ranked-lifetime.stderr
@@ -13,11 +13,11 @@ note: required by a bound in `f1`
|
LL | fn f1<F>(_: F) where F: Fn(&(), &()) {}
| ^^^^^^^^^^^^ required by this bound in `f1`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | f1(|_: &(), _: ()| {});
| ~~~
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | f1(|_: (), _: &()| {});
| ~~~
@@ -37,11 +37,11 @@ note: required by a bound in `f2`
|
LL | fn f2<F>(_: F) where F: for<'a> Fn(&'a (), &()) {}
| ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `f2`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | f2(|_: &'a (), _: ()| {});
| ~~~~~~
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | f2(|_: (), _: &()| {});
| ~~~
@@ -61,11 +61,11 @@ note: required by a bound in `f3`
|
LL | fn f3<'a, F>(_: F) where F: Fn(&'a (), &()) {}
| ^^^^^^^^^^^^^^^ required by this bound in `f3`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | f3(|_: &(), _: ()| {});
| ~~~
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | f3(|_: (), _: &()| {});
| ~~~
@@ -85,11 +85,11 @@ note: required by a bound in `f4`
|
LL | fn f4<F>(_: F) where F: for<'r> Fn(&(), &'r ()) {}
| ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `f4`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | f4(|_: &(), _: ()| {});
| ~~~
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | f4(|_: (), _: &'r ()| {});
| ~~~~~~
@@ -109,11 +109,11 @@ note: required by a bound in `f5`
|
LL | fn f5<F>(_: F) where F: for<'r> Fn(&'r (), &'r ()) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `f5`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | f5(|_: &'r (), _: ()| {});
| ~~~~~~
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | f5(|_: (), _: &'r ()| {});
| ~~~~~~
@@ -133,7 +133,7 @@ note: required by a bound in `g1`
|
LL | fn g1<F>(_: F) where F: Fn(&(), Box<dyn Fn(&())>) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `g1`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | g1(|_: &(), _: ()| {});
| ~~~
@@ -153,7 +153,7 @@ note: required by a bound in `g2`
|
LL | fn g2<F>(_: F) where F: Fn(&(), fn(&())) {}
| ^^^^^^^^^^^^^^^^ required by this bound in `g2`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | g2(|_: &(), _: ()| {});
| ~~~
@@ -173,7 +173,7 @@ note: required by a bound in `g3`
|
LL | fn g3<F>(_: F) where F: for<'s> Fn(&'s (), Box<dyn Fn(&())>) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `g3`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | g3(|_: &'s (), _: ()| {});
| ~~~~~~
@@ -193,7 +193,7 @@ note: required by a bound in `g4`
|
LL | fn g4<F>(_: F) where F: Fn(&(), for<'r> fn(&'r ())) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `g4`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | g4(|_: &(), _: ()| {});
| ~~~
@@ -213,11 +213,11 @@ note: required by a bound in `h1`
|
LL | fn h1<F>(_: F) where F: Fn(&(), Box<dyn Fn(&())>, &(), fn(&(), &())) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `h1`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | h1(|_: &(), _: (), _: (), _: ()| {});
| ~~~
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | h1(|_: (), _: (), _: &(), _: ()| {});
| ~~~
@@ -237,11 +237,11 @@ note: required by a bound in `h2`
|
LL | fn h2<F>(_: F) where F: for<'t0> Fn(&(), Box<dyn Fn(&())>, &'t0 (), fn(&(), &())) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `h2`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | h2(|_: &(), _: (), _: (), _: ()| {});
| ~~~
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | h2(|_: (), _: (), _: &'t0 (), _: ()| {});
| ~~~~~~~
diff --git a/src/test/ui/closures/multiple-fn-bounds.stderr b/src/test/ui/closures/multiple-fn-bounds.stderr
index eefc123fed7..32a1edb0024 100644
--- a/src/test/ui/closures/multiple-fn-bounds.stderr
+++ b/src/test/ui/closures/multiple-fn-bounds.stderr
@@ -18,6 +18,10 @@ note: required by a bound in `foo`
|
LL | fn foo<F: Fn(&char) -> bool + Fn(char) -> bool>(f: F) {
| ^^^^^^^^^^^^^^^^ required by this bound in `foo`
+help: do not borrow the argument
+ |
+LL | foo(move |char| v);
+ | ~~~~
error: aborting due to previous error
diff --git a/src/test/ui/mismatched_types/closure-arg-type-mismatch.stderr b/src/test/ui/mismatched_types/closure-arg-type-mismatch.stderr
index 3edcb4ee05e..67dff5f92aa 100644
--- a/src/test/ui/mismatched_types/closure-arg-type-mismatch.stderr
+++ b/src/test/ui/mismatched_types/closure-arg-type-mismatch.stderr
@@ -13,7 +13,7 @@ note: required by a bound in `map`
|
LL | F: FnMut(Self::Item) -> B,
| ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Iterator::map`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | a.iter().map(|_: &(u32, u32)| 45);
| ~~~~~~~~~~~
diff --git a/src/test/ui/mismatched_types/issue-36053-2.stderr b/src/test/ui/mismatched_types/issue-36053-2.stderr
index b0a69ef2720..d66e3b38123 100644
--- a/src/test/ui/mismatched_types/issue-36053-2.stderr
+++ b/src/test/ui/mismatched_types/issue-36053-2.stderr
@@ -13,7 +13,7 @@ note: required by a bound in `filter`
|
LL | P: FnMut(&Self::Item) -> bool,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Iterator::filter`
-help: consider borrowing here:
+help: consider borrowing the argument
|
LL | once::<&str>("str").fuse().filter(|a: &&str| true).count();
| ~~~~~