diff options
| author | Scott McMurray <scottmcm@users.noreply.github.com> | 2021-05-24 14:29:44 -0700 |
|---|---|---|
| committer | Scott McMurray <scottmcm@users.noreply.github.com> | 2021-05-24 14:29:44 -0700 |
| commit | b63f7f9965c88314e3a83a2fcd57685c48fbade4 (patch) | |
| tree | ef8bc57ffe1907a81410a1a11504ddd9cbe9bdc9 | |
| parent | 3bcaeb0bf9e1c29d18abc32928fd2f23d1bed0bd (diff) | |
| download | rust-b63f7f9965c88314e3a83a2fcd57685c48fbade4.tar.gz rust-b63f7f9965c88314e3a83a2fcd57685c48fbade4.zip | |
Demote ControlFlow::{from|into}_try to pub(crate)
| -rw-r--r-- | library/core/src/ops/control_flow.rs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/library/core/src/ops/control_flow.rs b/library/core/src/ops/control_flow.rs index dbb51540bd4..419675cf641 100644 --- a/library/core/src/ops/control_flow.rs +++ b/library/core/src/ops/control_flow.rs @@ -186,9 +186,8 @@ impl<B, C> ControlFlow<B, C> { #[cfg(bootstrap)] impl<R: ops::TryV1> ControlFlow<R, R::Output> { /// Create a `ControlFlow` from any type implementing `Try`. - #[unstable(feature = "control_flow_enum", reason = "new API", issue = "75744")] #[inline] - pub fn from_try(r: R) -> Self { + pub(crate) fn from_try(r: R) -> Self { match R::into_result(r) { Ok(v) => ControlFlow::Continue(v), Err(v) => ControlFlow::Break(R::from_error(v)), @@ -196,9 +195,8 @@ impl<R: ops::TryV1> ControlFlow<R, R::Output> { } /// Convert a `ControlFlow` into any type implementing `Try`; - #[unstable(feature = "control_flow_enum", reason = "new API", issue = "75744")] #[inline] - pub fn into_try(self) -> R { + pub(crate) fn into_try(self) -> R { match self { ControlFlow::Continue(v) => R::from_ok(v), ControlFlow::Break(v) => v, @@ -206,12 +204,14 @@ impl<R: ops::TryV1> ControlFlow<R, R::Output> { } } +/// These are used only as part of implementing the iterator adapters. +/// They have mediocre names and non-obvious semantics, so aren't +/// currently on a path to potential stabilization. #[cfg(not(bootstrap))] impl<R: ops::TryV2> ControlFlow<R, R::Output> { /// Create a `ControlFlow` from any type implementing `Try`. - #[unstable(feature = "control_flow_enum", reason = "new API", issue = "75744")] #[inline] - pub fn from_try(r: R) -> Self { + pub(crate) fn from_try(r: R) -> Self { match R::branch(r) { ControlFlow::Continue(v) => ControlFlow::Continue(v), ControlFlow::Break(v) => ControlFlow::Break(R::from_residual(v)), @@ -219,9 +219,8 @@ impl<R: ops::TryV2> ControlFlow<R, R::Output> { } /// Convert a `ControlFlow` into any type implementing `Try`; - #[unstable(feature = "control_flow_enum", reason = "new API", issue = "75744")] #[inline] - pub fn into_try(self) -> R { + pub(crate) fn into_try(self) -> R { match self { ControlFlow::Continue(v) => R::from_output(v), ControlFlow::Break(v) => v, |
