summaryrefslogtreecommitdiffstats
path: root/third_party/rust/either/README.rst
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/either/README.rst')
-rw-r--r--third_party/rust/either/README.rst164
1 files changed, 164 insertions, 0 deletions
diff --git a/third_party/rust/either/README.rst b/third_party/rust/either/README.rst
new file mode 100644
index 0000000000..be27fc1054
--- /dev/null
+++ b/third_party/rust/either/README.rst
@@ -0,0 +1,164 @@
+
+Either
+======
+
+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`__
+
+__ https://docs.rs/either/
+
+|build_status|_ |crates|_
+
+.. |build_status| image:: https://github.com/bluss/either/workflows/CI/badge.svg?branch=master
+.. _build_status: https://github.com/bluss/either/actions
+
+.. |crates| image:: https://img.shields.io/crates/v/either.svg
+.. _crates: https://crates.io/crates/either
+
+How to use with cargo::
+
+ [dependencies]
+ either = "1.8"
+
+
+Recent Changes
+--------------
+
+- 1.8.1
+
+ - Clarified that the multiple licenses are combined with OR.
+
+- 1.8.0
+
+ - **MSRV**: ``either`` now requires Rust 1.36 or later.
+
+ - Add new methods ``.as_pin_ref()`` and ``.as_pin_mut()`` to project a
+ pinned ``Either`` as inner ``Pin`` variants, by @cuviper (#77)
+
+ - Implement the ``Future`` trait, by @cuviper (#77)
+
+ - Specialize more methods of the ``io`` traits, by @Kixunil and @cuviper (#75)
+
+- 1.7.0
+
+ - **MSRV**: ``either`` now requires Rust 1.31 or later.
+
+ - Export the macro ``for_both!``, by @thomaseizinger (#58)
+
+ - Implement the ``io::Seek`` trait, by @Kerollmops (#60)
+
+ - Add new method ``.either_into()`` for ``Into`` conversion, by @TonalidadeHidrica (#63)
+
+ - Add new methods ``.factor_ok()``, ``.factor_err()``, and ``.factor_none()``,
+ by @zachs18 (#67)
+
+ - Specialize ``source`` in the ``Error`` implementation, by @thomaseizinger (#69)
+
+ - Specialize more iterator methods and implement the ``FusedIterator`` trait,
+ by @Ten0 (#66) and @cuviper (#71)
+
+ - Specialize ``Clone::clone_from``, by @cuviper (#72)
+
+- 1.6.1
+
+ - Add new methods ``.expect_left()``, ``.unwrap_left()``,
+ and equivalents on the right, by @spenserblack (#51)
+
+- 1.6.0
+
+ - Add new modules ``serde_untagged`` and ``serde_untagged_optional`` to customize
+ how ``Either`` fields are serialized in other types, by @MikailBag (#49)
+
+- 1.5.3
+
+ - Add new method ``.map()`` for ``Either<T, T>`` by @nvzqz (#40).
+
+- 1.5.2
+
+ - Add new methods ``.left_or()``, ``.left_or_default()``, ``.left_or_else()``,
+ and equivalents on the right, by @DCjanus (#36)
+
+- 1.5.1
+
+ - Add ``AsRef`` and ``AsMut`` implementations for common unsized types:
+ ``str``, ``[T]``, ``CStr``, ``OsStr``, and ``Path``, by @mexus (#29)
+
+- 1.5.0
+
+ - Add new methods ``.factor_first()``, ``.factor_second()`` and ``.into_inner()``
+ by @mathstuf (#19)
+
+- 1.4.0
+
+ - Add inherent method ``.into_iter()`` by @cuviper (#12)
+
+- 1.3.0
+
+ - Add opt-in serde support by @hcpl
+
+- 1.2.0
+
+ - Add method ``.either_with()`` by @Twey (#13)
+
+- 1.1.0
+
+ - Add methods ``left_and_then``, ``right_and_then`` by @rampantmonkey
+ - Include license files in the repository and released crate
+
+- 1.0.3
+
+ - Add crate categories
+
+- 1.0.2
+
+ - Forward more ``Iterator`` methods
+ - Implement ``Extend`` for ``Either<L, R>`` if ``L, R`` do.
+
+- 1.0.1
+
+ - Fix ``Iterator`` impl for ``Either`` to forward ``.fold()``.
+
+- 1.0.0
+
+ - Add default crate feature ``use_std`` so that you can opt out of linking to
+ std.
+
+- 0.1.7
+
+ - Add methods ``.map_left()``, ``.map_right()`` and ``.either()``.
+ - Add more documentation
+
+- 0.1.3
+
+ - Implement Display, Error
+
+- 0.1.2
+
+ - Add macros ``try_left!`` and ``try_right!``.
+
+- 0.1.1
+
+ - Implement Deref, DerefMut
+
+- 0.1.0
+
+ - Initial release
+ - Support Iterator, Read, Write
+
+License
+-------
+
+Dual-licensed to be compatible with the Rust project.
+
+Licensed under the Apache License, Version 2.0
+https://www.apache.org/licenses/LICENSE-2.0 or the MIT license
+https://opensource.org/licenses/MIT, at your
+option. This file may not be copied, modified, or distributed
+except according to those terms.