
Notes about tests: - tests/ui/rfcs/rfc-2294-if-let-guard/feature-gate.rs: some messages are now duplicated due to repeated parsing. - tests/ui/rfcs/rfc-2497-if-let-chains/disallowed-positions.rs: ditto. - `tests/ui/proc-macro/macro-rules-derive-cfg.rs`: the diff looks large but the only difference is the insertion of a single invisible-delimited group around a metavar. - `tests/ui/attributes/nonterminal-expansion.rs`: a slight span degradation, somehow related to the recent massive attr parsing rewrite (#135726). I couldn't work out exactly what is going wrong, but I don't think it's worth holding things up for a single slightly suboptimal error message.
20 lines
498 B
Rust
20 lines
498 B
Rust
//@ compile-flags: -Zdeduplicate-diagnostics=yes
|
|
|
|
// Macros were previously expanded in `Expr` nonterminal tokens, now they are not.
|
|
|
|
macro_rules! pass_nonterminal {
|
|
($n:expr) => {
|
|
#[repr(align($n))]
|
|
//~^ ERROR expected unsuffixed literal, found `expr` metavariable
|
|
struct S;
|
|
};
|
|
}
|
|
|
|
macro_rules! n {
|
|
() => { 32 };
|
|
}
|
|
|
|
pass_nonterminal!(n!());
|
|
//~^ ERROR incorrect `repr(align)` attribute format: `align` expects a literal integer as argument [E0693]
|
|
|
|
fn main() {}
|