Provides a procedural macro, that is match expressions for any trait
shell
cargo add match_any_trait
Example
```rust use std::any::Any; use matchanytrait::matchanytrait;
struct MyStruct { x: u32, }
struct MyNum { y: u32, }
struct MyTuple;
struct MyTemplate;
fn main() { // let num = MyStruct{ // x: 1, // };
// let num = MyNum{
// y: 1,
// };
// let num = MyTuple;
let num = MyTemplate;
let num = &num as &dyn Any;
match_any_trait! {
match num {
MyStruct(s) | MyNum(s) => println!("num is a {:?}", s),
MyTuple => println!("num is a MyTuple")
MyTemplate => println!("num is a MyTemplate"),
_ => println!("num is unknown"),
}
}
} ```