test: add test for inner attribute followed by outer attribute causing ICE
This commit is contained in:
parent
7402eb001b
commit
7f0d43a003
@ -0,0 +1,13 @@
|
||||
// force-host
|
||||
// no-prefer-dynamic
|
||||
|
||||
#![crate_type = "proc-macro"]
|
||||
|
||||
extern crate proc_macro;
|
||||
|
||||
use proc_macro::TokenStream;
|
||||
|
||||
#[proc_macro_derive(ICE)]
|
||||
pub fn derive(_: TokenStream) -> TokenStream {
|
||||
r#"#[allow(missing_docs)] struct X { }"#.parse().unwrap()
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
// aux-build:issue-89971-outer-attr-following-inner-attr-ice.rs
|
||||
|
||||
#[macro_use]
|
||||
extern crate issue_89971_outer_attr_following_inner_attr_ice;
|
||||
|
||||
fn main() {
|
||||
Mew();
|
||||
X {};
|
||||
}
|
||||
|
||||
#![deny(missing_docs)]
|
||||
//~^ ERROR an inner attribute is not permitted in this context
|
||||
#[derive(ICE)]
|
||||
#[deny(missing_docs)]
|
||||
struct Mew();
|
@ -0,0 +1,18 @@
|
||||
error: an inner attribute is not permitted in this context
|
||||
--> $DIR/issue-89971-outer-attr-following-inner-attr-ice.rs:11:1
|
||||
|
|
||||
LL | #![deny(missing_docs)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
...
|
||||
LL | struct Mew();
|
||||
| ------------- the inner attribute doesn't annotate this struct
|
||||
|
|
||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||
help: to annotate the struct, change the attribute from inner to outer style
|
||||
|
|
||||
LL - #![deny(missing_docs)]
|
||||
LL + #[deny(missing_docs)]
|
||||
|
|
||||
|
||||
error: aborting due to previous error
|
||||
|
Loading…
Reference in New Issue
Block a user