1
Fork 0

Add closure labels

This commit is contained in:
Esteban Küber 2024-10-27 19:03:13 +00:00
parent 03e9a38390
commit 87d323c81e
5 changed files with 14 additions and 11 deletions

View file

@ -1423,10 +1423,10 @@ impl<'a, 'tcx> TypeErrCtxt<'a, 'tcx> {
// LL | Unit4
// | ^^^^^ expected `Unit3`, found `Unit4`
// |
diag.span_label(span, "");
diag.span_label(span, "this closure");
if !span.overlaps(obligation.cause.span) {
// Point at the binding corresponding to the closure where it is used.
diag.span_label(obligation.cause.span, "");
diag.span_label(obligation.cause.span, "closure used here");
}
}

View file

@ -25,8 +25,9 @@ error[E0271]: expected `{closure@dont-ice-for-type-mismatch-in-closure-in-async.
|
LL | call(|| -> Option<()> {
| ---- ------^^^^^^^^^^
| | |
| | expected `bool`, found `Option<()>`
| | | |
| | | expected `bool`, found `Option<()>`
| | this closure
| required by a bound introduced by this call
|
= note: expected type `bool`

View file

@ -3,8 +3,9 @@ error[E0271]: expected `{closure@return-type-doesnt-match-bound.rs:8:17}` to be
|
LL | f().or_else(|e| -> ! {
| ------- -------^
| | |
| | expected `Result<(), _>`, found `!`
| | | |
| | | expected `Result<(), _>`, found `!`
| | this closure
| required by a bound introduced by this call
|
= note: expected enum `Result<(), _>`
@ -17,11 +18,12 @@ error[E0271]: expected `{closure@return-type-doesnt-match-bound.rs:18:13}` to be
|
LL | let c = |e| -> ! {
| -------^
| |
| expected `Result<(), _>`, found `!`
| | |
| | expected `Result<(), _>`, found `!`
| this closure
...
LL | f().or_else(c);
| ------- -
| ------- - closure used here
| |
| required by a bound introduced by this call
|

View file

@ -36,7 +36,7 @@ LL | let v = Unit2.m(
| - required by a bound introduced by this call
LL | L {
LL | f: |x| {
| ---
| --- this closure
LL | drop(x);
LL | Unit4
| ^^^^^ expected `Unit3`, found `Unit4`

View file

@ -2,7 +2,7 @@ error[E0271]: expected `{closure@fallback-closure-wrap.rs:18:40}` to be a closur
--> $DIR/fallback-closure-wrap.rs:19:9
|
LL | let error = Closure::wrap(Box::new(move || {
| -------
| ------- this closure
LL | panic!("Can't connect to server.");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `!`
|