forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#118533 - chenyukang:yukang-fix-118455, r=pe…
…trochenkov Suppress unhelpful diagnostics for unresolved top level attributes Fixes rust-lang#118455, unresolved top level attribute error didn't imported prelude and already have emitted an error, report builtin macro and attributes error by the way, so `check_invalid_crate_level_attr` in can ignore them. Also fixes rust-lang#89566, fixes rust-lang#67107. r? ``@petrochenkov``
Showing
30 changed files
with
100 additions
and
201 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,16 @@ | ||
#![derive(Copy)] //~ ERROR cannot determine resolution for the attribute macro `derive` | ||
#![derive(Copy)] | ||
//~^ ERROR `derive` attribute cannot be used at crate level | ||
|
||
#![test]//~ ERROR cannot determine resolution for the attribute macro `test` | ||
#![test] | ||
//~^ ERROR `test` attribute cannot be used at crate level | ||
|
||
#![test_case]//~ ERROR cannot determine resolution for the attribute macro `test_case` | ||
#![test_case] | ||
//~^ ERROR `test_case` attribute cannot be used at crate level | ||
|
||
#![bench]//~ ERROR cannot determine resolution for the attribute macro `bench` | ||
#![bench] | ||
//~^ ERROR `bench` attribute cannot be used at crate level | ||
|
||
#![global_allocator]//~ ERROR cannot determine resolution for the attribute macro `global_allocator` | ||
#![global_allocator] | ||
//~^ ERROR `global_allocator` attribute cannot be used at crate level | ||
|
||
fn main() {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
// compile-flags: --test | ||
|
||
#![allow(soft_unstable)] | ||
#![test] //~ ERROR cannot determine resolution for the attribute macro `test` | ||
#![test] | ||
//~^ ERROR 4:1: 4:9: `test` attribute cannot be used at crate level |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,9 @@ | ||
use NonExistent; //~ ERROR unresolved import `NonExistent` | ||
use non_existent::non_existent; //~ ERROR unresolved import `non_existent` | ||
|
||
#[non_existent] //~ ERROR cannot determine resolution for the attribute macro `non_existent` | ||
#[derive(NonExistent)] //~ ERROR cannot determine resolution for the derive macro `NonExistent` | ||
//~| ERROR cannot determine resolution for the derive macro `NonExistent` | ||
//~| ERROR cannot determine resolution for the derive macro `NonExistent` | ||
#[non_existent] | ||
#[derive(NonExistent)] | ||
|
||
struct S; | ||
|
||
fn main() {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#![some_nonexistent_attribute] | ||
//~^ ERROR cannot find attribute `some_nonexistent_attribute` in this scope | ||
#[derive(Debug)] | ||
pub struct SomeUserCode; | ||
|
||
fn main() {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
error: cannot find attribute `some_nonexistent_attribute` in this scope | ||
--> $DIR/issue-118455-skip-err-builtin.rs:1:4 | ||
| | ||
LL | #![some_nonexistent_attribute] | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: aborting due to 1 previous error | ||
|
6 changes: 6 additions & 0 deletions
6
tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.fixed
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
// run-rustfix | ||
|
||
#[derive(Debug)] //~ ERROR `derive` attribute cannot be used at crate level | ||
struct Test {} | ||
|
||
fn main() {} |
6 changes: 6 additions & 0 deletions
6
tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
// run-rustfix | ||
|
||
#![derive(Debug)] //~ ERROR `derive` attribute cannot be used at crate level | ||
struct Test {} | ||
|
||
fn main() {} |
16 changes: 16 additions & 0 deletions
16
tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
error: `derive` attribute cannot be used at crate level | ||
--> $DIR/issue-89566-suggest-fix-invalid-top-level-macro-attr.rs:3:1 | ||
| | ||
LL | #![derive(Debug)] | ||
| ^^^^^^^^^^^^^^^^^ | ||
LL | struct Test {} | ||
| ---- the inner attribute doesn't annotate this struct | ||
| | ||
help: perhaps you meant to use an outer attribute | ||
| | ||
LL - #![derive(Debug)] | ||
LL + #[derive(Debug)] | ||
| | ||
|
||
error: aborting due to 1 previous error | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,5 +7,5 @@ macro_rules! foo { | |
} | ||
|
||
fn main() { | ||
foo!(); //~ ERROR cannot determine resolution for the macro `foo` | ||
foo!(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,5 @@ | ||
#![derive(Debug, PartialEq, Eq)] // should be an outer attribute! | ||
//~^ ERROR cannot determine resolution for the attribute macro `derive` | ||
//~^^ ERROR `derive` attribute cannot be used at crate level | ||
//~^ ERROR `derive` attribute cannot be used at crate level | ||
struct DerivedOn; | ||
|
||
fn main() {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters