rust/tests/ui/macros/issue-41803.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

24 lines
501 B
Rust
Raw Normal View History

// run-pass
#![allow(unused_macro_rules)]
/// A compile-time map from identifiers to arbitrary (heterogeneous) expressions
macro_rules! ident_map {
( $name:ident = { $($key:ident => $e:expr,)* } ) => {
macro_rules! $name {
$(
( $key ) => { $e };
)*
// Empty invocation expands to nothing. Needed when the map is empty.
() => {};
}
};
}
ident_map!(my_map = {
main => 0,
});
fn main() {
my_map!(main);
}