Skip to content

Commit

Permalink
Add test for "const stability on macro"
Browse files Browse the repository at this point in the history
  • Loading branch information
estebank committed Feb 11, 2021
1 parent 19806e4 commit 49310ce
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 2 deletions.
7 changes: 5 additions & 2 deletions compiler/rustc_expand/src/base.rs
Original file line number Diff line number Diff line change
Expand Up @@ -774,8 +774,11 @@ impl SyntaxExtension {
sess.parse_sess
.span_diagnostic
.struct_span_err(sp, "macros cannot have const stability attributes")
.span_label(sp, "invalid stability attribute")
.span_label(span, "in this macro")
.span_label(sp, "invalid const stability attribute")
.span_label(
sess.source_map().guess_head_span(span),
"const stability attribute affects this macro",
)
.emit();
}

Expand Down
13 changes: 13 additions & 0 deletions src/test/ui/attributes/const-stability-on-macro.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#[rustc_const_stable(feature = "foo", since = "0")]
//~^ ERROR macros cannot have const stability attributes
macro_rules! foo {
() => {};
}

#[rustc_const_unstable(feature = "bar", issue="none")]
//~^ ERROR macros cannot have const stability attributes
macro_rules! bar {
() => {};
}

fn main() {}
20 changes: 20 additions & 0 deletions src/test/ui/attributes/const-stability-on-macro.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
error: macros cannot have const stability attributes
--> $DIR/const-stability-on-macro.rs:1:1
|
LL | #[rustc_const_stable(feature = "foo", since = "0")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid const stability attribute
LL |
LL | macro_rules! foo {
| ---------------- const stability attribute affects this macro

error: macros cannot have const stability attributes
--> $DIR/const-stability-on-macro.rs:7:1
|
LL | #[rustc_const_unstable(feature = "bar", issue="none")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid const stability attribute
LL |
LL | macro_rules! bar {
| ---------------- const stability attribute affects this macro

error: aborting due to 2 previous errors

0 comments on commit 49310ce

Please sign in to comment.