Нет, желаемый синтаксис невозможен; Я даже не знаю, как мог бы работать ваш синтаксис, если бы у вас было несколько типов, но с одинаковым количеством:
enum MyEnum {
A(bool),
B(String),
}
Должен ли я сопоставлять все варианты и применять одно и то же «тело» для каждого ?
Да, но вы можете использовать шаблоны для их сопоставления в одной руке:
match a {
MyEnum::A(n) | MyEnum::B(n) => {}
_ => {}
};