#enum #adt #unwrap

no-std unwrap_to

A utility macro to unwrap enums

1 unstable release

Uses old Rust 2015

0.1.0 May 12, 2018

#1016 in Development tools

Download history 292/week @ 2022-12-04 546/week @ 2022-12-11 256/week @ 2022-12-18 81/week @ 2022-12-25 253/week @ 2023-01-01 368/week @ 2023-01-08 609/week @ 2023-01-15 745/week @ 2023-01-22 674/week @ 2023-01-29 604/week @ 2023-02-05 327/week @ 2023-02-12 366/week @ 2023-02-19 517/week @ 2023-02-26 322/week @ 2023-03-05 279/week @ 2023-03-12 311/week @ 2023-03-19

1,463 downloads per month
Used in 8 crates (6 directly)

MIT/Apache

3KB

unwrap_to

Build status

A simple utility macro that allows you to easily unwrap a ADT(Abstract Data Type) enum into a reference of its inner type.

#[macro_use] extern crate unwrap_to;
//!
enum Rule {
    String(String),
    Number(u64),
}
//!
fn main() {
    let rule = Rule::Number(7);
    assert_eq!(&7, unwrap_to!(rule => Rule::Number));
}

lib.rs:

unwrap_to

A simple utility macro that allows you to easily unwrap a ADT(Abstract Data Type) enum into a reference of its inner type.

#[macro_use] extern crate unwrap_to;

enum Rule {
    String(String),
    Number(u64),
}

fn main() {
    let rule = Rule::Number(7);
    assert_eq!(&7, unwrap_to!(rule => Rule::Number));
}

A simple utility macro that allows you to easily unwrap a ADT(Abstract Data Type) enum into a reference of its inner type.

No runtime deps