rust/tests/ui/macros/macro-in-expression-context.rs
2025-08-19 21:27:10 +02:00

28 lines
897 B
Rust

//@ run-rustfix
macro_rules! foo {
() => {
assert_eq!("A", "A");
//~^ ERROR trailing semicolon in macro
//~| WARN this was previously
//~| NOTE macro invocations at the end of a block
//~| NOTE to ignore the value produced by the macro
//~| NOTE for more information
//~| NOTE `#[deny(semicolon_in_expressions_from_macros)]` (part of `#[deny(future_incompatible)]`) on by default
assert_eq!("B", "B");
}
//~^^ ERROR macro expansion ignores `assert_eq` and any tokens following
//~| NOTE the usage of `foo!` is likely invalid in expression context
}
fn main() {
foo!()
//~^ NOTE caused by the macro expansion here
//~| NOTE in this expansion
//~| NOTE in this expansion
//~| NOTE in this expansion
//~| NOTE in this expansion
//~| NOTE in this expansion
//~| NOTE in this expansion
}