about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2023-06-30 00:30:50 +0000
committerEsteban Küber <esteban@kuber.com.ar>2023-06-30 00:34:14 +0000
commit7d33094d3aa9c9ef2f376ed0dff026a6bc402dbb (patch)
tree159c0646948f65e9fb664ca9647d884f66bd73b6 /compiler
parent54d6738a8df74382c439e1dfb9ce4e2382d7742e (diff)
downloadrust-7d33094d3aa9c9ef2f376ed0dff026a6bc402dbb.tar.gz
rust-7d33094d3aa9c9ef2f376ed0dff026a6bc402dbb.zip
Use structured suggestion when telling user about `for<'a>`
```
error[E0637]: `&` without an explicit lifetime name cannot be used here
  --> $DIR/E0637.rs:13:13
   |
LL |     T: Into<&u32>,
   |             ^ explicit lifetime name needed here
   |
help: consider introducing a higher-ranked lifetime here
   |
LL |     T: for<'a> Into<&'a u32>,
   |        +++++++       ++
```
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_resolve/src/late.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/compiler/rustc_resolve/src/late.rs b/compiler/rustc_resolve/src/late.rs
index 9f4573ea025..744dcf0db84 100644
--- a/compiler/rustc_resolve/src/late.rs
+++ b/compiler/rustc_resolve/src/late.rs
@@ -1632,9 +1632,13 @@ impl<'a: 'ast, 'b, 'ast, 'tcx> LateResolutionVisitor<'a, 'b, 'ast, 'tcx> {
                                 ..
                             } = &rib.kind
                             {
-                                diag.span_help(
-                                    *span,
-                                    "consider introducing a higher-ranked lifetime here with `for<'a>`",
+                                diag.multipart_suggestion(
+                                    "consider introducing a higher-ranked lifetime here",
+                                    vec![
+                                        (span.shrink_to_lo(), "for<'a> ".into()),
+                                        (lifetime.ident.span.shrink_to_hi(), "'a ".into()),
+                                    ],
+                                    Applicability::MachineApplicable,
                                 );
                                 break;
                             }