md-match

A macro to support md-match.

```rust use mdmatch::derive::MdMatch; use mdmatch::{md_match, MdMatch};

[derive(MdMatch)]

enum A { A1(String), }

[derive(MdMatch)]

enum B { B1(String), }

[test]

fn it_works() { let (mut a, mut b) = (A::A1(String::from("hello")), B::B1(String::from("world")));

let (va_ref, vb_ref) = md_match!(&a, &b => |x, y| (x, y));
assert_eq!(va_ref, "hello");
assert_eq!(vb_ref, "world");

md_match!(&mut a, &mut b => |x, y| {
    *x = String::from("world");
    *y = String::from("hello");
});

let (va, vb) = md_match!(a, b => |x, y| (x, y));
assert_eq!(va, "world");
assert_eq!(vb, "hello");

} ```