#either #enum

either_n

An Either enum with N variants

3 unstable releases

Uses old Rust 2015

0.2.0 Dec 19, 2016
0.1.1 Dec 19, 2016
0.1.0 Dec 19, 2016

#7 in #either

37 downloads per month
Used in domafic

MIT/Apache

17KB
323 lines

EitherN-rs

Build Status crates.io

Rust library allowing for quick, ad-hoc sum types.

Documentation


lib.rs:

Either enums over N different types.

Example

use either_n::Either7;

let either7 = match 1 {
    0 => Either7::One("a"),
    1 => Either7::Two(5u32),
    2 => Either7::Three("string".to_string()),
    3 => Either7::Four([1,2,3]),
    4 => Either7::Five([1,2,3,4,5,6]),
    6 => Either7::Six(()),
    _ => Either7::Seven(([()])),
};

assert_eq!(either7.as_ref().two(), Some(&5u32));
assert_eq!(either7.six(), None);

Thanks to @bluss for their Either crate.

No runtime deps

Features

  • use_std