#enums #either

no-std 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

#1608 in Rust patterns

Download history 156/week @ 2024-11-16 204/week @ 2024-11-23 357/week @ 2024-11-30 391/week @ 2024-12-07 261/week @ 2024-12-14 82/week @ 2024-12-21 84/week @ 2024-12-28 214/week @ 2025-01-04 227/week @ 2025-01-11 222/week @ 2025-01-18 144/week @ 2025-01-25 279/week @ 2025-02-01 260/week @ 2025-02-08 242/week @ 2025-02-15 276/week @ 2025-02-22 103/week @ 2025-03-01

934 downloads per month
Used in 40 crates (4 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