The enum Either with variants Left and Right and trait
implementations including Iterator, Read, Write.
Either has methods that are similar to Option and Result.
Includes convenience macros try_left!() and try_right!() to use for
short-circuiting logic.
Please read the API documentation here
How to use with cargo:
[dependencies] either = "1.6"
- 1.6.1
- Add new methods
.expect_left(),.unwrap_left(), and equivalents on the right, by @spenserblack (#51)
- Add new methods
- 1.6.0
- Add new modules
serde_untaggedandserde_untagged_optionalto customize howEitherfields are serialized in other types, by @MikailBag (#49)
- Add new modules
- 1.5.3
- Add new method
.map()forEither<T, T>by @nvzqz (#40).
- Add new method
- 1.5.2
- Add new methods
.left_or(),.left_or_default(),.left_or_else(), and equivalents on the right, by @DCjanus (#36)
- Add new methods
- 1.5.1
- Add
AsRefandAsMutimplementations for common unsized types:str,[T],CStr,OsStr, andPath, by @mexus (#29)
- Add
- 1.5.0
- Add new methods
.factor_first(),.factor_second()and.into_inner()by @mathstuf (#19)
- Add new methods
- 1.4.0
- Add inherent method
.into_iter()by @cuviper (#12)
- Add inherent method
- 1.3.0
- Add opt-in serde support by @hcpl
- 1.2.0
- Add method
.either_with()by @Twey (#13)
- Add method
- 1.1.0
- Add methods
left_and_then,right_and_thenby @rampantmonkey - Include license files in the repository and released crate
- Add methods
- 1.0.3
- Add crate categories
- 1.0.2
- Forward more
Iteratormethods - Implement
ExtendforEither<L, R>ifL, Rdo.
- Forward more
- 1.0.1
- Fix
Iteratorimpl forEitherto forward.fold().
- Fix
- 1.0.0
- Add default crate feature
use_stdso that you can opt out of linking to std.
- Add default crate feature
- 0.1.7
- Add methods
.map_left(),.map_right()and.either(). - Add more documentation
- Add methods
- 0.1.3
- Implement Display, Error
- 0.1.2
- Add macros
try_left!andtry_right!.
- Add macros
- 0.1.1
- Implement Deref, DerefMut
- 0.1.0
- Initial release
- Support Iterator, Read, Write
Dual-licensed to be compatible with the Rust project.
Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.