about summary refs log tree commit diff
path: root/compiler/rustc_resolve/src
diff options
context:
space:
mode:
authorstoozy <stoozy@proton.me>2022-09-28 00:33:52 -0400
committerstoozy <stoozy@proton.me>2022-09-28 00:33:52 -0400
commite7cb6ad8ce382ded99be31c95562c8d91a635b24 (patch)
treedc015a2f6fb395d3638c45621020da4169d46f4c /compiler/rustc_resolve/src
parent24c8e27a1d1693786a5ec0ddffedefeb01ff4fb4 (diff)
downloadrust-e7cb6ad8ce382ded99be31c95562c8d91a635b24.tar.gz
rust-e7cb6ad8ce382ded99be31c95562c8d91a635b24.zip
Proper span for new generic param suggestion
Diffstat (limited to 'compiler/rustc_resolve/src')
-rw-r--r--compiler/rustc_resolve/src/late/lifetimes.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/rustc_resolve/src/late/lifetimes.rs b/compiler/rustc_resolve/src/late/lifetimes.rs
index 9b66c42651d..40d183bf1ba 100644
--- a/compiler/rustc_resolve/src/late/lifetimes.rs
+++ b/compiler/rustc_resolve/src/late/lifetimes.rs
@@ -1333,11 +1333,16 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
                                         );
 
                                         diag.span_label(lifetime_ref.span, "expected named lifetime parameter");
-
                                         diag.multipart_suggestion("consider introducing a named lifetime parameter",
                                                                   vec![
                                                                     (lifetime_ref.span.shrink_to_hi(), "'a ".to_owned()),
-                                                                    (generics.span, "<'a>".to_owned())
+                                                                    match generics.span_for_param_suggestion() {
+                                                                        Some(_) => {
+                                                                            (self.tcx.sess.source_map().span_through_char(generics.span, '<').shrink_to_hi(), "'a, ".to_owned())
+                                                                        }
+                                                                        None => (generics.span, "<'a>".to_owned()),
+
+                                                                    }
                                                                   ], rustc_errors::Applicability::MaybeIncorrect);
                                         diag.emit();