#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

#1434 in Rust patterns

Download history 65/week @ 2022-12-06 25/week @ 2022-12-13 57/week @ 2022-12-20 47/week @ 2022-12-27 18/week @ 2023-01-03 48/week @ 2023-01-10 57/week @ 2023-01-17 127/week @ 2023-01-24 130/week @ 2023-01-31 110/week @ 2023-02-07 113/week @ 2023-02-14 150/week @ 2023-02-21 175/week @ 2023-02-28 152/week @ 2023-03-07 158/week @ 2023-03-14 152/week @ 2023-03-21

646 downloads per month
Used in 14 crates (3 directly)

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