rust/src/test/ui/proc-macro/invalid-attributes.rs
Esteban Küber 609ffa1a89 Reword malformed attribute input diagnostics
- Handle empty `cfg_attr` attribute
- Reword empty `derive` attribute error
- Use consistend error message: "malformed `attrname` attribute input"
- Provide suggestions when possible
- Move note/help to label/suggestion
- Use consistent wording "ill-formed" -> "malformed"
- Move diagnostic logic out of parser
2019-05-25 11:55:50 -07:00

26 lines
882 B
Rust

// force-host
// no-prefer-dynamic
#![crate_type = "proc-macro"]
extern crate proc_macro;
use proc_macro::TokenStream;
#[proc_macro = "test"] //~ ERROR malformed `proc_macro` attribute
pub fn a(a: TokenStream) -> TokenStream { a }
#[proc_macro()] //~ ERROR malformed `proc_macro` attribute
pub fn c(a: TokenStream) -> TokenStream { a }
#[proc_macro(x)] //~ ERROR malformed `proc_macro` attribute
pub fn d(a: TokenStream) -> TokenStream { a }
#[proc_macro_attribute = "test"] //~ ERROR malformed `proc_macro_attribute` attribute
pub fn e(_: TokenStream, a: TokenStream) -> TokenStream { a }
#[proc_macro_attribute()] //~ ERROR malformed `proc_macro_attribute` attribute
pub fn g(_: TokenStream, a: TokenStream) -> TokenStream { a }
#[proc_macro_attribute(x)] //~ ERROR malformed `proc_macro_attribute` attribute
pub fn h(_: TokenStream, a: TokenStream) -> TokenStream { a }