about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDominik Boehi <dominik.boehi@gmail.com>2016-08-05 06:30:41 +0200
committerDominik Boehi <dominik.boehi@gmail.com>2016-08-05 06:30:41 +0200
commitc61cfb09829d365a4f5298213fb8b523d7abfbd2 (patch)
tree2f0ccff41e0fc8af5568b4ee22b64aca887120e2
parenta0b4e6764809022433edbff275528ec2540bda73 (diff)
downloadrust-c61cfb09829d365a4f5298213fb8b523d7abfbd2.tar.gz
rust-c61cfb09829d365a4f5298213fb8b523d7abfbd2.zip
Update E0106 error message to new format.
This fixes rust/rust-lang#35245
-rw-r--r--src/librustc_typeck/astconv.rs8
-rw-r--r--src/test/compile-fail/E0106.rs12
2 files changed, 15 insertions, 5 deletions
diff --git a/src/librustc_typeck/astconv.rs b/src/librustc_typeck/astconv.rs
index 3b2bca4ab39..5550287c293 100644
--- a/src/librustc_typeck/astconv.rs
+++ b/src/librustc_typeck/astconv.rs
@@ -310,8 +310,12 @@ impl<'o, 'gcx: 'tcx, 'tcx> AstConv<'gcx, 'tcx>+'o {
             None => match rscope.anon_regions(default_span, 1) {
                 Ok(rs) => rs[0],
                 Err(params) => {
-                    let mut err = struct_span_err!(self.tcx().sess, default_span, E0106,
-                                                   "missing lifetime specifier");
+                    let ampersand_span = Span { hi: default_span.lo, ..default_span};
+
+                    let mut err = struct_span_err!(self.tcx().sess, ampersand_span, E0106,
+                                                 "missing lifetime specifier");
+                    err.span_label(ampersand_span, &format!("expected lifetime parameter"));
+
                     if let Some(params) = params {
                         report_elision_failure(&mut err, params);
                     }
diff --git a/src/test/compile-fail/E0106.rs b/src/test/compile-fail/E0106.rs
index f1cd530863d..dab03f0bccf 100644
--- a/src/test/compile-fail/E0106.rs
+++ b/src/test/compile-fail/E0106.rs
@@ -9,13 +9,19 @@
 // except according to those terms.
 
 struct Foo {
-    x: &bool, //~ ERROR E0106
+    x: &bool,
+    //~^ ERROR E0106
+    //~| NOTE expected lifetime parameter
 }
 enum Bar {
     A(u8),
-    B(&bool), //~ ERROR E0106
+    B(&bool),
+   //~^ ERROR E0106
+   //~| NOTE expected lifetime parameter
 }
-type MyStr = &str; //~ ERROR E0106
+type MyStr = &str;
+        //~^ ERROR E0106
+        //~| NOTE expected lifetime parameter
 
 fn main() {
 }