Skip to content

Commit

Permalink
Fix undesirable fallout
Browse files Browse the repository at this point in the history
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?
  • Loading branch information
petrochenkov committed Aug 17, 2018
1 parent a095804 commit 674a5db
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 88 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
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() {}
102 changes: 51 additions & 51 deletions src/test/run-pass/macro-comma-support.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down Expand Up @@ -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)]
Expand All @@ -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]
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -339,21 +339,21 @@ macro_rules! test_with_formatter {
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",);
}
}
1 change: 0 additions & 1 deletion src/test/ui/issues/issue-49074.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,4 @@ mod foo {

fn main() {
bar!();
//~^ ERROR cannot find macro `bar!`
}
10 changes: 1 addition & 9 deletions src/test/ui/issues/issue-49074.stderr
Original file line number Diff line number Diff line change
@@ -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
|
Expand All @@ -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`.
48 changes: 24 additions & 24 deletions src/test/ui/object-lifetime/object-lifetime-default.stderr
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
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
|
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

0 comments on commit 674a5db

Please sign in to comment.