about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-09-05 17:55:45 -0700
committerGitHub <noreply@github.com>2016-09-05 17:55:45 -0700
commite1d0de82cc40b666b88d4a6d2c9dcbc81d7ed27f (patch)
tree4c66194f1f9e81d885971ee0b0572309f9cacdde
parentcbe4de78e2daf84499988c79317c0862b8106115 (diff)
parent20ec61e04309bfd9450bcde9176c883478af46de (diff)
downloadrust-e1d0de82cc40b666b88d4a6d2c9dcbc81d7ed27f.tar.gz
rust-e1d0de82cc40b666b88d4a6d2c9dcbc81d7ed27f.zip
Auto merge of #36274 - Manishearth:rollup, r=Manishearth
Rollup of 6 pull requests

- Successful merges: #35845, #35983, #36065, #36102, #36242, #36245
- Failed merges:
-rw-r--r--src/librustc/middle/resolve_lifetime.rs6
-rw-r--r--src/librustc_typeck/check/mod.rs20
-rw-r--r--src/libsyntax/feature_gate.rs1
-rw-r--r--src/test/compile-fail/E0060.rs3
-rw-r--r--src/test/compile-fail/E0061.rs10
-rw-r--r--src/test/compile-fail/E0496.rs2
-rw-r--r--src/test/compile-fail/issue-18819.rs4
-rw-r--r--src/test/compile-fail/issue-3044.rs2
-rw-r--r--src/test/compile-fail/issue-4935.rs1
-rw-r--r--src/test/compile-fail/loops-reject-duplicate-labels-2.rs33
-rw-r--r--src/test/compile-fail/loops-reject-duplicate-labels.rs32
-rw-r--r--src/test/compile-fail/loops-reject-labels-shadowing-lifetimes.rs36
-rw-r--r--src/test/compile-fail/loops-reject-lifetime-shadowing-label.rs3
-rw-r--r--src/test/compile-fail/method-call-err-msg.rs3
-rw-r--r--src/test/compile-fail/not-enough-arguments.rs4
-rw-r--r--src/test/compile-fail/overloaded-calls-bad.rs2
-rw-r--r--src/test/compile-fail/shadowed-lifetime.rs6
-rw-r--r--src/test/compile-fail/variadic-ffi-3.rs8
18 files changed, 100 insertions, 76 deletions
diff --git a/src/librustc/middle/resolve_lifetime.rs b/src/librustc/middle/resolve_lifetime.rs
index e897b16efab..95706b5677a 100644
--- a/src/librustc/middle/resolve_lifetime.rs
+++ b/src/librustc/middle/resolve_lifetime.rs
@@ -396,9 +396,9 @@ fn signal_shadowing_problem(sess: &Session, name: ast::Name, orig: Original, sha
                                         {} name that is already in scope",
                                        shadower.kind.desc(), name, orig.kind.desc()))
     };
-    err.span_note(orig.span,
-                  &format!("shadowed {} `{}` declared here",
-                           orig.kind.desc(), name));
+    err.span_label(orig.span, &"first declared here");
+    err.span_label(shadower.span,
+                   &format!("lifetime {} already in scope", name));
     err.emit();
 }
 
diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs
index 00fdcd59f7c..df07bd4f32e 100644
--- a/src/librustc_typeck/check/mod.rs
+++ b/src/librustc_typeck/check/mod.rs
@@ -2437,16 +2437,18 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
                     if arg_count == 1 {" was"} else {"s were"}),
                 error_code);
 
-            err.span_label(sp, &format!("expected {}{} parameter{}",
-                                        if variadic {"at least "} else {""},
-                                        expected_count,
-                                        if expected_count == 1 {""} else {"s"}));
-
             let input_types = fn_inputs.iter().map(|i| format!("{:?}", i)).collect::<Vec<String>>();
-            if input_types.len() > 0 {
-                err.note(&format!("the following parameter type{} expected: {}",
-                        if expected_count == 1 {" was"} else {"s were"},
-                        input_types.join(", ")));
+            if input_types.len() > 1 {
+                err.note("the following parameter types were expected:");
+                err.note(&input_types.join(", "));
+            } else if input_types.len() > 0 {
+                err.note(&format!("the following parameter type was expected: {}",
+                                  input_types[0]));
+            } else {
+                err.span_label(sp, &format!("expected {}{} parameter{}",
+                                            if variadic {"at least "} else {""},
+                                            expected_count,
+                                            if expected_count == 1 {""} else {"s"}));
             }
             err.emit();
         }
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs
index 287d33cc3e5..dd2956f706c 100644
--- a/src/libsyntax/feature_gate.rs
+++ b/src/libsyntax/feature_gate.rs
@@ -308,6 +308,7 @@ declare_features! (
     (removed, struct_inherit, "1.0.0", None),
     (removed, test_removed_feature, "1.0.0", None),
     (removed, visible_private_types, "1.0.0", None),
+    (removed, unsafe_no_drop_flag, "1.0.0", None),
 );
 
 declare_features! (
diff --git a/src/test/compile-fail/E0060.rs b/src/test/compile-fail/E0060.rs
index e1f2618c180..5182a2bf5a0 100644
--- a/src/test/compile-fail/E0060.rs
+++ b/src/test/compile-fail/E0060.rs
@@ -15,6 +15,5 @@ extern "C" {
 fn main() {
     unsafe { printf(); }
     //~^ ERROR E0060
-    //~| NOTE expected at least 1 parameter
-    //~| NOTE the following parameter type was expected
+    //~| NOTE the following parameter type was expected: *const u8
 }
diff --git a/src/test/compile-fail/E0061.rs b/src/test/compile-fail/E0061.rs
index ca04b059dc7..4c7c0dfd44c 100644
--- a/src/test/compile-fail/E0061.rs
+++ b/src/test/compile-fail/E0061.rs
@@ -10,9 +10,15 @@
 
 fn f(a: u16, b: &str) {}
 
+fn f2(a: u16) {}
+
 fn main() {
     f(0);
     //~^ ERROR E0061
-    //~| NOTE expected 2 parameters
-    //~| NOTE the following parameter types were expected
+    //~| NOTE the following parameter types were expected:
+    //~| NOTE u16, &str
+
+    f2();
+    //~^ ERROR E0061
+    //~| NOTE the following parameter type was expected: u16
 }
diff --git a/src/test/compile-fail/E0496.rs b/src/test/compile-fail/E0496.rs
index 4ca3cd9c13d..8aeeeebcb56 100644
--- a/src/test/compile-fail/E0496.rs
+++ b/src/test/compile-fail/E0496.rs
@@ -13,7 +13,9 @@ struct Foo<'a> {
 }
 
 impl<'a> Foo<'a> {
+   //~^  NOTE first declared here
     fn f<'a>(x: &'a i32) { //~ ERROR E0496
+       //~^ NOTE lifetime 'a already in scope
     }
 }
 
diff --git a/src/test/compile-fail/issue-18819.rs b/src/test/compile-fail/issue-18819.rs
index cf650460c3d..8035d798e32 100644
--- a/src/test/compile-fail/issue-18819.rs
+++ b/src/test/compile-fail/issue-18819.rs
@@ -25,6 +25,6 @@ fn print_x(_: &Foo<Item=bool>, extra: &str) {
 fn main() {
     print_x(X);
     //~^ ERROR this function takes 2 parameters but 1 parameter was supplied
-    //~| NOTE the following parameter types were expected: &Foo<Item=bool>, &str
-    //~| NOTE expected 2 parameters
+    //~| NOTE the following parameter types were expected:
+    //~| NOTE &Foo<Item=bool>, &str
 }
diff --git a/src/test/compile-fail/issue-3044.rs b/src/test/compile-fail/issue-3044.rs
index d19e3b2c7b0..b934cbe4b5d 100644
--- a/src/test/compile-fail/issue-3044.rs
+++ b/src/test/compile-fail/issue-3044.rs
@@ -15,6 +15,6 @@ fn main() {
     });
     //~^^ ERROR this function takes 2 parameters but 1 parameter was supplied
     //~| NOTE the following parameter types were expected
-    //~| NOTE expected 2 parameters
+    //~| NOTE _, _
     // the first error is, um, non-ideal.
 }
diff --git a/src/test/compile-fail/issue-4935.rs b/src/test/compile-fail/issue-4935.rs
index 58a84f3490b..08707a187df 100644
--- a/src/test/compile-fail/issue-4935.rs
+++ b/src/test/compile-fail/issue-4935.rs
@@ -14,4 +14,3 @@ fn foo(a: usize) {}
 fn main() { foo(5, 6) }
 //~^ ERROR this function takes 1 parameter but 2 parameters were supplied
 //~| NOTE the following parameter type was expected
-//~| NOTE expected 1 parameter
diff --git a/src/test/compile-fail/loops-reject-duplicate-labels-2.rs b/src/test/compile-fail/loops-reject-duplicate-labels-2.rs
index 4a3338c4bf6..ca18ca3796a 100644
--- a/src/test/compile-fail/loops-reject-duplicate-labels-2.rs
+++ b/src/test/compile-fail/loops-reject-duplicate-labels-2.rs
@@ -19,30 +19,31 @@
 // https://internals.rust-lang.org/t/psa-rejecting-duplicate-loop-labels/1833
 
 pub fn foo() {
-    { 'fl: for _ in 0..10 { break; } }   //~ NOTE shadowed label `'fl` declared here
+    { 'fl: for _ in 0..10 { break; } }   //~ NOTE first declared here
     { 'fl: loop { break; } }             //~ WARN label name `'fl` shadows a label name that is already in scope
-
-    { 'lf: loop { break; } }             //~ NOTE shadowed label `'lf` declared here
+    //~^ NOTE lifetime 'fl already in scope
+    { 'lf: loop { break; } }             //~ NOTE first declared here
     { 'lf: for _ in 0..10 { break; } }   //~ WARN label name `'lf` shadows a label name that is already in scope
-
-    { 'wl: while 2 > 1 { break; } }      //~ NOTE shadowed label `'wl` declared here
+    //~^ NOTE lifetime 'lf already in scope
+    { 'wl: while 2 > 1 { break; } }      //~ NOTE first declared here
     { 'wl: loop { break; } }             //~ WARN label name `'wl` shadows a label name that is already in scope
-
-    { 'lw: loop { break; } }             //~ NOTE shadowed label `'lw` declared here
+    //~^ NOTE lifetime 'wl already in scope
+    { 'lw: loop { break; } }             //~ NOTE first declared here
     { 'lw: while 2 > 1 { break; } }      //~ WARN label name `'lw` shadows a label name that is already in scope
-
-    { 'fw: for _ in 0..10 { break; } }   //~ NOTE shadowed label `'fw` declared here
+    //~^ NOTE lifetime 'lw already in scope
+    { 'fw: for _ in 0..10 { break; } }   //~ NOTE first declared here
     { 'fw: while 2 > 1 { break; } }      //~ WARN label name `'fw` shadows a label name that is already in scope
-
-    { 'wf: while 2 > 1 { break; } }      //~ NOTE shadowed label `'wf` declared here
+    //~^ NOTE lifetime 'fw already in scope
+    { 'wf: while 2 > 1 { break; } }      //~ NOTE first declared here
     { 'wf: for _ in 0..10 { break; } }   //~ WARN label name `'wf` shadows a label name that is already in scope
-
-    { 'tl: while let Some(_) = None::<i32> { break; } } //~ NOTE shadowed label `'tl` declared here
+    //~^ NOTE lifetime 'wf already in scope
+    { 'tl: while let Some(_) = None::<i32> { break; } } //~ NOTE first declared here
     { 'tl: loop { break; } }             //~ WARN label name `'tl` shadows a label name that is already in scope
-
-    { 'lt: loop { break; } }             //~ NOTE shadowed label `'lt` declared here
+    //~^ NOTE lifetime 'tl already in scope
+    { 'lt: loop { break; } }             //~ NOTE first declared here
     { 'lt: while let Some(_) = None::<i32> { break; } }
-                                        //~^ WARN label name `'lt` shadows a label name that is already in scope
+                                         //~^ WARN label name `'lt` shadows a label name that is already in scope
+                                         //~| NOTE lifetime 'lt already in scope
 }
 
 #[rustc_error]
diff --git a/src/test/compile-fail/loops-reject-duplicate-labels.rs b/src/test/compile-fail/loops-reject-duplicate-labels.rs
index 15446bf642d..31f89493896 100644
--- a/src/test/compile-fail/loops-reject-duplicate-labels.rs
+++ b/src/test/compile-fail/loops-reject-duplicate-labels.rs
@@ -16,30 +16,32 @@
 // This is testing the exact cases that are in the issue description.
 
 fn foo() {
-    'fl: for _ in 0..10 { break; } //~ NOTE shadowed label `'fl` declared here
+    'fl: for _ in 0..10 { break; } //~ NOTE first declared here
     'fl: loop { break; }           //~ WARN label name `'fl` shadows a label name that is already in scope
+                                   //~^ NOTE lifetime 'fl already in scope
 
-    'lf: loop { break; }           //~ NOTE shadowed label `'lf` declared here
+    'lf: loop { break; }           //~ NOTE first declared here
     'lf: for _ in 0..10 { break; } //~ WARN label name `'lf` shadows a label name that is already in scope
-
-    'wl: while 2 > 1 { break; }    //~ NOTE shadowed label `'wl` declared here
+                                   //~^ NOTE lifetime 'lf already in scope
+    'wl: while 2 > 1 { break; }    //~ NOTE first declared here
     'wl: loop { break; }           //~ WARN label name `'wl` shadows a label name that is already in scope
-
-    'lw: loop { break; }           //~ NOTE shadowed label `'lw` declared here
+                                   //~^ NOTE lifetime 'wl already in scope
+    'lw: loop { break; }           //~ NOTE first declared here
     'lw: while 2 > 1 { break; }    //~ WARN label name `'lw` shadows a label name that is already in scope
-
-    'fw: for _ in 0..10 { break; } //~ NOTE shadowed label `'fw` declared here
+                                   //~^ NOTE lifetime 'lw already in scope
+    'fw: for _ in 0..10 { break; } //~ NOTE first declared here
     'fw: while 2 > 1 { break; }    //~ WARN label name `'fw` shadows a label name that is already in scope
-
-    'wf: while 2 > 1 { break; }    //~ NOTE shadowed label `'wf` declared here
+                                   //~^ NOTE lifetime 'fw already in scope
+    'wf: while 2 > 1 { break; }    //~ NOTE first declared here
     'wf: for _ in 0..10 { break; } //~ WARN label name `'wf` shadows a label name that is already in scope
-
-    'tl: while let Some(_) = None::<i32> { break; } //~ NOTE shadowed label `'tl` declared here
+                                   //~^ NOTE lifetime 'wf already in scope
+    'tl: while let Some(_) = None::<i32> { break; } //~ NOTE first declared here
     'tl: loop { break; }           //~ WARN label name `'tl` shadows a label name that is already in scope
-
-    'lt: loop { break; }           //~ NOTE shadowed label `'lt` declared here
+                                   //~^ NOTE lifetime 'tl already in scope
+    'lt: loop { break; }           //~ NOTE first declared here
     'lt: while let Some(_) = None::<i32> { break; }
-                                  //~^ WARN label name `'lt` shadows a label name that is already in scope
+                                   //~^ WARN label name `'lt` shadows a label name that is already in scope
+                                   //~| NOTE lifetime 'lt already in scope
 }
 
 // Note however that it is okay for the same label to be reused in
diff --git a/src/test/compile-fail/loops-reject-labels-shadowing-lifetimes.rs b/src/test/compile-fail/loops-reject-labels-shadowing-lifetimes.rs
index bbdd0774ed9..9a735f9c97c 100644
--- a/src/test/compile-fail/loops-reject-labels-shadowing-lifetimes.rs
+++ b/src/test/compile-fail/loops-reject-labels-shadowing-lifetimes.rs
@@ -16,9 +16,10 @@
 #![allow(dead_code, unused_variables)]
 
 fn foo() {
-    fn foo<'a>() { //~ NOTE shadowed lifetime `'a` declared here
+    fn foo<'a>() { //~ NOTE first declared here
         'a: loop { break 'a; }
         //~^ WARN label name `'a` shadows a lifetime name that is already in scope
+        //~| NOTE lifetime 'a already in scope
     }
 
     struct Struct<'b, 'c> { _f: &'b i8, _g: &'c i8 }
@@ -40,76 +41,87 @@ fn foo() {
         }
     }
 
-    impl<'bad, 'c> Struct<'bad, 'c> { //~ NOTE shadowed lifetime `'bad` declared here
+    impl<'bad, 'c> Struct<'bad, 'c> { //~ NOTE first declared here
         fn meth_bad(&self) {
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
     }
 
-    impl<'b, 'bad> Struct<'b, 'bad> { //~ NOTE shadowed lifetime `'bad` declared here
+    impl<'b, 'bad> Struct<'b, 'bad> { //~ NOTE first declared here
         fn meth_bad2(&self) {
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
     }
 
     impl<'b, 'c> Struct<'b, 'c> {
-        fn meth_bad3<'bad>(x: &'bad i8) { //~ NOTE shadowed lifetime `'bad` declared here
+        fn meth_bad3<'bad>(x: &'bad i8) { //~ NOTE first declared here
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
 
         fn meth_bad4<'a,'bad>(x: &'a i8, y: &'bad i8) {
-            //~^ NOTE shadowed lifetime `'bad` declared here
+            //~^ NOTE first declared here
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
     }
 
-    impl <'bad, 'e> Enum<'bad, 'e> { //~ NOTE shadowed lifetime `'bad` declared here
+    impl <'bad, 'e> Enum<'bad, 'e> { //~ NOTE first declared here
         fn meth_bad(&self) {
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
     }
-    impl <'d, 'bad> Enum<'d, 'bad> { //~ NOTE shadowed lifetime `'bad` declared here
+    impl <'d, 'bad> Enum<'d, 'bad> { //~ NOTE first declared here
         fn meth_bad2(&self) {
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
     }
     impl <'d, 'e> Enum<'d, 'e> {
-        fn meth_bad3<'bad>(x: &'bad i8) { //~ NOTE shadowed lifetime `'bad` declared here
+        fn meth_bad3<'bad>(x: &'bad i8) { //~ NOTE first declared here
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
 
-        fn meth_bad4<'a,'bad>(x: &'bad i8) { //~ NOTE shadowed lifetime `'bad` declared here
+        fn meth_bad4<'a,'bad>(x: &'bad i8) { //~ NOTE first declared here
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
     }
 
-    trait HasDefaultMethod1<'bad> { //~ NOTE shadowed lifetime `'bad` declared here
+    trait HasDefaultMethod1<'bad> { //~ NOTE first declared here
         fn meth_okay() {
             'c: loop { break 'c; }
         }
         fn meth_bad(&self) {
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
     }
-    trait HasDefaultMethod2<'a,'bad> { //~ NOTE shadowed lifetime `'bad` declared here
+    trait HasDefaultMethod2<'a,'bad> { //~ NOTE first declared here
         fn meth_bad(&self) {
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
     }
     trait HasDefaultMethod3<'a,'b> {
-        fn meth_bad<'bad>(&self) { //~ NOTE shadowed lifetime `'bad` declared here
+        fn meth_bad<'bad>(&self) { //~ NOTE first declared here
             'bad: loop { break 'bad; }
             //~^ WARN label name `'bad` shadows a lifetime name that is already in scope
+            //~| NOTE lifetime 'bad already in scope
         }
     }
 }
diff --git a/src/test/compile-fail/loops-reject-lifetime-shadowing-label.rs b/src/test/compile-fail/loops-reject-lifetime-shadowing-label.rs
index 2344d251c9a..0a90917d975 100644
--- a/src/test/compile-fail/loops-reject-lifetime-shadowing-label.rs
+++ b/src/test/compile-fail/loops-reject-lifetime-shadowing-label.rs
@@ -27,9 +27,10 @@ fn foo() {
 
     let z = 3_i8;
 
-    'a: loop { //~ NOTE shadowed label `'a` declared here
+    'a: loop { //~ NOTE first declared here
         let b = Box::new(|x: &i8| *x) as Box<for <'a> Fn(&'a i8) -> i8>;
         //~^ WARN lifetime name `'a` shadows a label name that is already in scope
+        //~| NOTE lifetime 'a already in scope
         assert_eq!((*b)(&z), z);
         break 'a;
     }
diff --git a/src/test/compile-fail/method-call-err-msg.rs b/src/test/compile-fail/method-call-err-msg.rs
index bcf676dbede..b7e0c5b81d9 100644
--- a/src/test/compile-fail/method-call-err-msg.rs
+++ b/src/test/compile-fail/method-call-err-msg.rs
@@ -23,10 +23,9 @@ fn main() {
      //~^ NOTE expected 0 parameters
      .one()     //~ ERROR this function takes 1 parameter but 0 parameters were supplied
      //~^ NOTE the following parameter type was expected
-     //~| NOTE expected 1 parameter
      .two(0);   //~ ERROR this function takes 2 parameters but 1 parameter was supplied
      //~^ NOTE the following parameter types were expected
-     //~| NOTE expected 2 parameters
+     //~| NOTE isize, isize
 
     let y = Foo;
     y.zero()
diff --git a/src/test/compile-fail/not-enough-arguments.rs b/src/test/compile-fail/not-enough-arguments.rs
index f2f61fcaeec..660d48da4db 100644
--- a/src/test/compile-fail/not-enough-arguments.rs
+++ b/src/test/compile-fail/not-enough-arguments.rs
@@ -19,6 +19,6 @@ fn foo(a: isize, b: isize, c: isize, d:isize) {
 fn main() {
   foo(1, 2, 3);
   //~^ ERROR this function takes 4 parameters but 3
-  //~| NOTE the following parameter types were expected
-  //~| NOTE expected 4 parameters
+  //~| NOTE the following parameter types were expected:
+  //~| NOTE isize, isize, isize, isize
 }
diff --git a/src/test/compile-fail/overloaded-calls-bad.rs b/src/test/compile-fail/overloaded-calls-bad.rs
index 1825ec61f1e..0aa9af3c8da 100644
--- a/src/test/compile-fail/overloaded-calls-bad.rs
+++ b/src/test/compile-fail/overloaded-calls-bad.rs
@@ -42,9 +42,7 @@ fn main() {
     let ans = s();
     //~^ ERROR this function takes 1 parameter but 0 parameters were supplied
     //~| NOTE the following parameter type was expected
-    //~| NOTE expected 1 parameter
     let ans = s("burma", "shave");
     //~^ ERROR this function takes 1 parameter but 2 parameters were supplied
     //~| NOTE the following parameter type was expected
-    //~| NOTE expected 1 parameter
 }
diff --git a/src/test/compile-fail/shadowed-lifetime.rs b/src/test/compile-fail/shadowed-lifetime.rs
index 8cbab5f8308..31283623a3c 100644
--- a/src/test/compile-fail/shadowed-lifetime.rs
+++ b/src/test/compile-fail/shadowed-lifetime.rs
@@ -13,16 +13,18 @@
 struct Foo<'a>(&'a isize);
 
 impl<'a> Foo<'a> {
-    //~^ NOTE shadowed lifetime `'a` declared here
+    //~^ NOTE  first declared here
     fn shadow_in_method<'a>(&'a self) -> &'a isize {
         //~^ ERROR lifetime name `'a` shadows a lifetime name that is already in scope
+        //~| NOTE lifetime 'a already in scope
         self.0
     }
 
     fn shadow_in_type<'b>(&'b self) -> &'b isize {
-        //~^ NOTE shadowed lifetime `'b` declared here
+        //~^ NOTE  first declared here
         let x: for<'b> fn(&'b isize) = panic!();
         //~^ ERROR lifetime name `'b` shadows a lifetime name that is already in scope
+        //~| NOTE lifetime 'b already in scope
         self.0
     }
 
diff --git a/src/test/compile-fail/variadic-ffi-3.rs b/src/test/compile-fail/variadic-ffi-3.rs
index cc9a7c84ede..334b8bb08ae 100644
--- a/src/test/compile-fail/variadic-ffi-3.rs
+++ b/src/test/compile-fail/variadic-ffi-3.rs
@@ -17,11 +17,11 @@ extern "C" fn bar(f: isize, x: u8) {}
 fn main() {
     unsafe {
         foo(); //~ ERROR: this function takes at least 2 parameters but 0 parameters were supplied
-        //~^ NOTE the following parameter types were expected
-        //~| NOTE expected at least 2 parameters
+               //~^ NOTE the following parameter types were expected:
+               //~| NOTE isize, u8
         foo(1); //~ ERROR: this function takes at least 2 parameters but 1 parameter was supplied
-        //~^ NOTE the following parameter types were expected
-        //~| NOTE expected at least 2 parameters
+        //~^ NOTE the following parameter types were expected:
+        //~| NOTE isize, u8
 
         let x: unsafe extern "C" fn(f: isize, x: u8) = foo;
         //~^ ERROR: mismatched types