match-downcast 0.1.2

A set of downcasting matching Rust macros.
Documentation

Set of downcasting matching macros akin to what Scala's match or Haskell's case can do. Useful in actor models etc.

let a = Box::new(5_i32) as Box<Any>;
let b = match_downcast!(a, {
    x: i32 => x
    y: f32 => x as i32,
    z: () => -1,
    _ => panic!()
});

assert_eq!(b, 5);