]> git.lizzy.rs Git - rust.git/commitdiff
Fix undesirable fallout
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>
Fri, 17 Aug 2018 10:17:39 +0000 (13:17 +0300)
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>
Fri, 17 Aug 2018 10:17:39 +0000 (13:17 +0300)
compile-fail-fulldeps/proc-macro/proc-macro-attributes.rs - resolution change for derive helper attributes with the same name as derive itself
run-pass/macro-comma-support.rs - indeterminate resolutions for macros in expression positions
ui/issues/issue-49074.rs - diagnostics regression, not enough recovery to report the second error
ui/object-lifetime/object-lifetime-default.stderr - unstable diagnostics?

src/test/compile-fail-fulldeps/proc-macro/proc-macro-attributes.rs
src/test/run-pass/macro-comma-support.rs
src/test/ui/issues/issue-49074.rs
src/test/ui/issues/issue-49074.stderr
src/test/ui/object-lifetime/object-lifetime-default.stderr

index df3f7a239b926b9132e752ebe953f35ab49368fe..215d51c227084ed19931519fd31b458b8553919f 100644 (file)
 extern crate derive_b;
 
 #[derive(B)]
-#[B]
-#[C] //~ ERROR: The attribute `C` is currently unknown to the compiler
+#[B] //~ ERROR `B` is a derive mode
+#[C]
 #[B(D)]
 #[B(E = "foo")]
-#[B(arbitrary tokens)] //~ ERROR expected one of `(`, `)`, `,`, `::`, or `=`, found `tokens`
+#[B(arbitrary tokens)]
 struct B;
 
 fn main() {}
index bfd911002a0ee5abaebc2a3cf7f007365691b733..f645849cd5114f491758bd1b39381f670185d030 100644 (file)
@@ -61,30 +61,30 @@ fn assert_ne() {
 
 #[test]
 fn cfg() {
-    let _ = cfg!(pants);
-    let _ = cfg!(pants,);
-    let _ = cfg!(pants = "pants");
-    let _ = cfg!(pants = "pants",);
-    let _ = cfg!(all(pants));
-    let _ = cfg!(all(pants),);
-    let _ = cfg!(all(pants,));
-    let _ = cfg!(all(pants,),);
+    cfg!(pants);
+    cfg!(pants,);
+    cfg!(pants = "pants");
+    cfg!(pants = "pants",);
+    cfg!(all(pants));
+    cfg!(all(pants),);
+    cfg!(all(pants,));
+    cfg!(all(pants,),);
 }
 
 #[test]
 fn column() {
-    let _ = column!();
+    column!();
 }
 
 // compile_error! is in a companion to this test in compile-fail
 
 #[test]
 fn concat() {
-    let _ = concat!();
-    let _ = concat!("hello");
-    let _ = concat!("hello",);
-    let _ = concat!("hello", " world");
-    let _ = concat!("hello", " world",);
+    concat!();
+    concat!("hello");
+    concat!("hello",);
+    concat!("hello", " world");
+    concat!("hello", " world",);
 }
 
 #[test]
@@ -130,10 +130,10 @@ fn debug_assert_ne() {
 
 #[test]
 fn env() {
-    let _ = env!("PATH");
-    let _ = env!("PATH",);
-    let _ = env!("PATH", "not found");
-    let _ = env!("PATH", "not found",);
+    env!("PATH");
+    env!("PATH",);
+    env!("PATH", "not found");
+    env!("PATH", "not found",);
 }
 
 #[cfg(std)]
@@ -157,58 +157,58 @@ fn eprintln() {
 
 #[test]
 fn file() {
-    let _ = file!();
+    file!();
 }
 
 #[cfg(std)]
 #[test]
 fn format() {
-    let _ = format!("hello");
-    let _ = format!("hello",);
-    let _ = format!("hello {}", "world");
-    let _ = format!("hello {}", "world",);
+    format!("hello");
+    format!("hello",);
+    format!("hello {}", "world");
+    format!("hello {}", "world",);
 }
 
 #[test]
 fn format_args() {
-    let _ = format_args!("hello");
-    let _ = format_args!("hello",);
-    let _ = format_args!("hello {}", "world");
-    let _ = format_args!("hello {}", "world",);
+    format_args!("hello");
+    format_args!("hello",);
+    format_args!("hello {}", "world");
+    format_args!("hello {}", "world",);
 }
 
 #[test]
 fn include() {
-    let _ = include!("auxiliary/macro-comma-support.rs");
-    let _ = include!("auxiliary/macro-comma-support.rs",);
+    include!("auxiliary/macro-comma-support.rs");
+    include!("auxiliary/macro-comma-support.rs",);
 }
 
 #[test]
 fn include_bytes() {
-    let _ = include_bytes!("auxiliary/macro-comma-support.rs");
-    let _ = include_bytes!("auxiliary/macro-comma-support.rs",);
+    include_bytes!("auxiliary/macro-comma-support.rs");
+    include_bytes!("auxiliary/macro-comma-support.rs",);
 }
 
 #[test]
 fn include_str() {
-    let _ = include_str!("auxiliary/macro-comma-support.rs");
-    let _ = include_str!("auxiliary/macro-comma-support.rs",);
+    include_str!("auxiliary/macro-comma-support.rs");
+    include_str!("auxiliary/macro-comma-support.rs",);
 }
 
 #[test]
 fn line() {
-    let _ = line!();
+    line!();
 }
 
 #[test]
 fn module_path() {
-    let _ = module_path!();
+    module_path!();
 }
 
 #[test]
 fn option_env() {
-    let _ = option_env!("PATH");
-    let _ = option_env!("PATH",);
+    option_env!("PATH");
+    option_env!("PATH",);
 }
 
 #[test]
@@ -308,10 +308,10 @@ fn unreachable() {
 #[test]
 fn vec() {
     let _: Vec<()> = vec![];
-    let _ = vec![0];
-    let _ = vec![0,];
-    let _ = vec![0, 1];
-    let _ = vec![0, 1,];
+    vec![0];
+    vec![0,];
+    vec![0, 1];
+    vec![0, 1,];
 }
 
 // give a test body access to a fmt::Formatter, which seems
@@ -339,21 +339,21 @@ fn fmt(&self, $f: &mut fmt::Formatter) -> fmt::Result {
 test_with_formatter! {
     #[test]
     fn write(f: &mut fmt::Formatter) {
-        let _ = write!(f, "hello");
-        let _ = write!(f, "hello",);
-        let _ = write!(f, "hello {}", "world");
-        let _ = write!(f, "hello {}", "world",);
+        write!(f, "hello");
+        write!(f, "hello",);
+        write!(f, "hello {}", "world");
+        write!(f, "hello {}", "world",);
     }
 }
 
 test_with_formatter! {
     #[test]
     fn writeln(f: &mut fmt::Formatter) {
-        let _ = writeln!(f);
-        let _ = writeln!(f,);
-        let _ = writeln!(f, "hello");
-        let _ = writeln!(f, "hello",);
-        let _ = writeln!(f, "hello {}", "world");
-        let _ = writeln!(f, "hello {}", "world",);
+        writeln!(f);
+        writeln!(f,);
+        writeln!(f, "hello");
+        writeln!(f, "hello",);
+        writeln!(f, "hello {}", "world");
+        writeln!(f, "hello {}", "world",);
     }
 }
index 2e7e118441090216da438c646ddf3661413fdb72..d255fac5427b6871e97947f5d120dc4d0dd94aac 100644 (file)
@@ -20,5 +20,4 @@ macro_rules! bar {
 
 fn main() {
    bar!();
-   //~^ ERROR cannot find macro `bar!`
 }
index c9984ea2e9a8a97e14487cb23032ba9d645fa0e4..888222b69cc4e6dc63a9ca2988fd526d2d3072a2 100644 (file)
@@ -1,11 +1,3 @@
-error: cannot find macro `bar!` in this scope
-  --> $DIR/issue-49074.rs:22:4
-   |
-LL |    bar!();
-   |    ^^^
-   |
-   = help: have you added the `#[macro_use]` on the module/import?
-
 error[E0658]: The attribute `marco_use` is currently unknown to the compiler and may have meaning added to it in the future (see issue #29642)
   --> $DIR/issue-49074.rs:13:1
    |
@@ -14,6 +6,6 @@ LL | #[marco_use] // typo
    |
    = help: add #![feature(custom_attribute)] to the crate attributes to enable
 
-error: aborting due to 2 previous errors
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0658`.
index 567ab72e56ad308a1bb5ef523e1ec7ff2d814345..7e334a0e8e6bd83b289e83c47cf505a3ccc09872 100644 (file)
@@ -1,20 +1,20 @@
-error: BaseDefault
-  --> $DIR/object-lifetime-default.rs:16:1
+error: 'a,Ambiguous
+  --> $DIR/object-lifetime-default.rs:34:1
    |
-LL | struct A<T>(T); //~ ERROR BaseDefault
-   | ^^^^^^^^^^^^^^^
+LL | struct G<'a,'b,T:'a,U:'a+'b>(&'a T, &'b U); //~ ERROR 'a,Ambiguous
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: BaseDefault
-  --> $DIR/object-lifetime-default.rs:19:1
+error: 'a,'b
+  --> $DIR/object-lifetime-default.rs:31:1
    |
-LL | struct B<'a,T>(&'a (), T); //~ ERROR BaseDefault
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | struct F<'a,'b,T:'a,U:'b>(&'a T, &'b U); //~ ERROR 'a,'b
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: 'a
-  --> $DIR/object-lifetime-default.rs:22:1
+error: 'b
+  --> $DIR/object-lifetime-default.rs:28:1
    |
-LL | struct C<'a,T:'a>(&'a T); //~ ERROR 'a
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | struct E<'a,'b:'a,T:'b>(&'a T, &'b T); //~ ERROR 'b
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: Ambiguous
   --> $DIR/object-lifetime-default.rs:25:1
@@ -22,23 +22,23 @@ error: Ambiguous
 LL | struct D<'a,'b,T:'a+'b>(&'a T, &'b T); //~ ERROR Ambiguous
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: 'b
-  --> $DIR/object-lifetime-default.rs:28:1
+error: 'a
+  --> $DIR/object-lifetime-default.rs:22:1
    |
-LL | struct E<'a,'b:'a,T:'b>(&'a T, &'b T); //~ ERROR 'b
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | struct C<'a,T:'a>(&'a T); //~ ERROR 'a
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: 'a,'b
-  --> $DIR/object-lifetime-default.rs:31:1
+error: BaseDefault
+  --> $DIR/object-lifetime-default.rs:19:1
    |
-LL | struct F<'a,'b,T:'a,U:'b>(&'a T, &'b U); //~ ERROR 'a,'b
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | struct B<'a,T>(&'a (), T); //~ ERROR BaseDefault
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: 'a,Ambiguous
-  --> $DIR/object-lifetime-default.rs:34:1
+error: BaseDefault
+  --> $DIR/object-lifetime-default.rs:16:1
    |
-LL | struct G<'a,'b,T:'a,U:'a+'b>(&'a T, &'b U); //~ ERROR 'a,Ambiguous
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | struct A<T>(T); //~ ERROR BaseDefault
+   | ^^^^^^^^^^^^^^^
 
 error: aborting due to 7 previous errors