mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-05 19:43:24 +00:00
Rollup merge of #87654 - jesyspa:issue-87238-option-result-doc, r=scottmcm
Add documentation for the order of Option and Result This resolves issue #87238.
This commit is contained in:
commit
b1166e14b6
@ -285,6 +285,19 @@
|
|||||||
//! assert_eq!(res, ["error!", "error!", "foo", "error!", "bar"]);
|
//! assert_eq!(res, ["error!", "error!", "foo", "error!", "bar"]);
|
||||||
//! ```
|
//! ```
|
||||||
//!
|
//!
|
||||||
|
//! ## Comparison operators
|
||||||
|
//!
|
||||||
|
//! If `T` implements [`PartialOrd`] then [`Option<T>`] will derive its
|
||||||
|
//! [`PartialOrd`] implementation. With this order, [`None`] compares as
|
||||||
|
//! less than any [`Some`], and two [`Some`] compare the same way as their
|
||||||
|
//! contained values would in `T`. If `T` also implements
|
||||||
|
//! [`Ord`], then so does [`Option<T>`].
|
||||||
|
//!
|
||||||
|
//! ```
|
||||||
|
//! assert!(None < Some(0));
|
||||||
|
//! assert!(Some(0) < Some(1));
|
||||||
|
//! ```
|
||||||
|
//!
|
||||||
//! ## Iterating over `Option`
|
//! ## Iterating over `Option`
|
||||||
//!
|
//!
|
||||||
//! An [`Option`] can be iterated over. This can be helpful if you need an
|
//! An [`Option`] can be iterated over. This can be helpful if you need an
|
||||||
|
@ -379,6 +379,24 @@
|
|||||||
//! [`and_then`]: Result::and_then
|
//! [`and_then`]: Result::and_then
|
||||||
//! [`or_else`]: Result::or_else
|
//! [`or_else`]: Result::or_else
|
||||||
//!
|
//!
|
||||||
|
//! ## Comparison operators
|
||||||
|
//!
|
||||||
|
//! If `T` and `E` both implement [`PartialOrd`] then [`Result<T, E>`] will
|
||||||
|
//! derive its [`PartialOrd`] implementation. With this order, an [`Ok`]
|
||||||
|
//! compares as less than any [`Err`], while two [`Ok`] or two [`Err`]
|
||||||
|
//! compare as their contained values would in `T` or `E` respectively. If `T`
|
||||||
|
//! and `E` both also implement [`Ord`], then so does [`Result<T, E>`].
|
||||||
|
//!
|
||||||
|
//! ```
|
||||||
|
//! assert!(Ok(1) < Err(0));
|
||||||
|
//! let x: Result<i32, ()> = Ok(0);
|
||||||
|
//! let y = Ok(1);
|
||||||
|
//! assert!(x < y);
|
||||||
|
//! let x: Result<(), i32> = Err(0);
|
||||||
|
//! let y = Err(1);
|
||||||
|
//! assert!(x < y);
|
||||||
|
//! ```
|
||||||
|
//!
|
||||||
//! ## Iterating over `Result`
|
//! ## Iterating over `Result`
|
||||||
//!
|
//!
|
||||||
//! A [`Result`] can be iterated over. This can be helpful if you need an
|
//! A [`Result`] can be iterated over. This can be helpful if you need an
|
||||||
|
Loading…
Reference in New Issue
Block a user