rust/tests/ui/parser/attribute/attr-unquoted-ident.rs
Nicholas Nethercote 7ea59e053b Remove NtMeta.
Note: there was an existing code path involving `Interpolated` in
`MetaItem::from_tokens` that was dead. This commit transfers that to the
new form, but puts an `unreachable!` call inside it.
2025-02-28 08:42:06 +11:00

26 lines
772 B
Rust

//@ compile-flags: -Zdeduplicate-diagnostics=yes
#![allow(unexpected_cfgs)]
fn main() {
#[cfg(key=foo)]
//~^ ERROR expected unsuffixed literal, found `foo`
//~| HELP surround the identifier with quotation marks to make it into a string literal
println!();
#[cfg(key="bar")]
println!();
#[cfg(key=foo bar baz)]
//~^ ERROR expected unsuffixed literal, found `foo`
//~| HELP surround the identifier with quotation marks to make it into a string literal
println!();
}
// Don't suggest surrounding `$name` or `nickname` with quotes:
macro_rules! make {
($name:ident) => { #[doc(alias = $name)] pub struct S; }
//~^ ERROR expected unsuffixed literal, found identifier `nickname`
}
make!(nickname); //~ NOTE in this expansion