#sum #enums #variant #left #right #cases

no-std either

The enum Either with variants Left and Right is a general purpose sum type with two cases

30 releases (stable)

1.13.0 Jun 25, 2024
1.11.0 Apr 13, 2024
1.10.0 Feb 10, 2024
1.9.0 Jul 22, 2023
0.1.3 Sep 25, 2015

#63 in Data structures

Download history 2968847/week @ 2024-08-13 2950545/week @ 2024-08-20 3074705/week @ 2024-08-27 3178725/week @ 2024-09-03 3036227/week @ 2024-09-10 2882616/week @ 2024-09-17 3161892/week @ 2024-09-24 3772295/week @ 2024-10-01 3956707/week @ 2024-10-08 3701774/week @ 2024-10-15 3051978/week @ 2024-10-22 2820343/week @ 2024-10-29 2940994/week @ 2024-11-05 3264446/week @ 2024-11-12 3394269/week @ 2024-11-19 2194295/week @ 2024-11-26

12,288,316 downloads per month
Used in 36,651 crates (911 directly)

MIT/Apache

62KB
1K SLoC

The enum Either with variants Left and Right is a general purpose sum type with two cases.

Either has methods that are similar to Option and Result, and it also implements traits like Iterator.

Includes macros try_left!() and try_right!() to use for short-circuiting logic, similar to how the ? operator is used with Result. Note that Either is general purpose. For describing success or error, use the regular Result.


lib.rs:

The enum Either with variants Left and Right is a general purpose sum type with two cases.

Crate features:

  • "use_std" Enabled by default. Disable to make the library #![no_std].

  • "serde" Disabled by default. Enable to #[derive(Serialize, Deserialize)] for Either

Dependencies

~160KB