#enums #unwrap #adt

no-std unwrap_to

A utility macro to unwrap enums

1 unstable release

Uses old Rust 2015

0.1.0 May 12, 2018

#1296 in Development tools

Download history 372/week @ 2024-11-16 454/week @ 2024-11-23 322/week @ 2024-11-30 441/week @ 2024-12-07 489/week @ 2024-12-14 144/week @ 2024-12-21 164/week @ 2024-12-28 563/week @ 2025-01-04 632/week @ 2025-01-11 415/week @ 2025-01-18 407/week @ 2025-01-25 661/week @ 2025-02-01 685/week @ 2025-02-08 395/week @ 2025-02-15 502/week @ 2025-02-22 429/week @ 2025-03-01

2,300 downloads per month
Used in 10 crates (5 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