diff options
| author | Waffle <waffle.lapkin@gmail.com> | 2020-03-18 11:02:29 +0300 |
|---|---|---|
| committer | Waffle <waffle.lapkin@gmail.com> | 2020-03-18 11:26:04 +0300 |
| commit | d36d3fa5a6441f13c3888b6895cc7046740b1e3d (patch) | |
| tree | 829518b6b0d91cdf1fc369af5bdfded5a3051b82 /src/libcore | |
| parent | a5206f9749faf60f6b4163a526de9ad18241503e (diff) | |
| download | rust-d36d3fa5a6441f13c3888b6895cc7046740b1e3d.tar.gz rust-d36d3fa5a6441f13c3888b6895cc7046740b1e3d.zip | |
fixes to `Option::{zip,zip_with}`
- remove `#[inline]` attributes (see https://github.com/rust-lang/rust/pull/69997#discussion_r393942617) - fill tracking issue in `#[unstable]` attributes - slightly improve the docs
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/option.rs | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/libcore/option.rs b/src/libcore/option.rs index 5db92a1b352..4bec3ec9f6b 100644 --- a/src/libcore/option.rs +++ b/src/libcore/option.rs @@ -916,8 +916,8 @@ impl<T> Option<T> { /// Zips `self` with another `Option`. /// - /// Returns `Some((_, _))` when both `self` and `other` - /// are `Some(_)`, otherwise return `None`. + /// If `self` is `Some(s)` and other is `Some(o)`, this method returns `Some((s, o))`. + /// Otherwise, `None` is returned. /// /// # Examples /// @@ -930,16 +930,15 @@ impl<T> Option<T> { /// assert_eq!(x.zip(y), Some((1, "hi"))); /// assert_eq!(x.zip(z), None); /// ``` - #[inline] - #[unstable(feature = "option_zip", issue = "none")] + #[unstable(feature = "option_zip", issue = "70086")] pub fn zip<U>(self, other: Option<U>) -> Option<(T, U)> { self.zip_with(other, |a, b| (a, b)) } /// Zips `self` and another `Option` with function `f`. /// - /// Returns `Some(_)` when both `self` and `other` - /// are `Some(_)`, otherwise return `None`. + /// If `self` is `Some(s)` and other is `Some(o)`, this method returns `Some(f(s, o))`. + /// Otherwise, `None` is returned. /// /// # Examples /// @@ -958,14 +957,13 @@ impl<T> Option<T> { /// } /// } /// - /// let x = Some(17.); - /// let y = Some(42.); + /// let x = Some(17.5); + /// let y = Some(42.7); /// - /// assert_eq!(x.zip_with(y, Point::new), Some(Point { x: 17., y: 42. })); + /// assert_eq!(x.zip_with(y, Point::new), Some(Point { x: 17.5, y: 42.7 })); /// assert_eq!(x.zip_with(None, Point::new), None); /// ``` - #[inline] - #[unstable(feature = "option_zip", issue = "none")] + #[unstable(feature = "option_zip", issue = "70086")] pub fn zip_with<U, F, R>(self, other: Option<U>, f: F) -> Option<R> where F: FnOnce(T, U) -> R, |
