From 74d00bde8ee55c26683bd788df439a9c29b7042e Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Thu, 17 Mar 2016 22:43:17 -0700 Subject: Make AssertRecoverSafe's field public It's basically the very definition of a newtype, so we might as well make things easy on people and let them construct and access it directly. --- src/libstd/panic.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/panic.rs b/src/libstd/panic.rs index 5c2e36623cb..c29a57b096c 100644 --- a/src/libstd/panic.rs +++ b/src/libstd/panic.rs @@ -147,7 +147,7 @@ pub trait RefRecoverSafe {} /// // }); /// /// // This, however, will compile due to the `AssertRecoverSafe` wrapper -/// let result = panic::recover(AssertRecoverSafe::new(|| { +/// let result = panic::recover(AssertRecoverSafe(|| { /// variable += 3; /// })); /// // ... @@ -171,7 +171,7 @@ pub trait RefRecoverSafe {} /// let other_capture = 3; /// /// let result = { -/// let mut wrapper = AssertRecoverSafe::new(&mut variable); +/// let mut wrapper = AssertRecoverSafe(&mut variable); /// panic::recover(move || { /// **wrapper += other_capture; /// }) @@ -179,7 +179,7 @@ pub trait RefRecoverSafe {} /// // ... /// ``` #[unstable(feature = "recover", reason = "awaiting feedback", issue = "27719")] -pub struct AssertRecoverSafe(T); +pub struct AssertRecoverSafe(pub T); // Implementations of the `RecoverSafe` trait: // @@ -216,12 +216,14 @@ impl RefRecoverSafe for AssertRecoverSafe {} impl AssertRecoverSafe { /// Creates a new `AssertRecoverSafe` wrapper around the provided type. #[unstable(feature = "recover", reason = "awaiting feedback", issue = "27719")] + #[rustc_deprecated(reason = "the type's field is now public, construct it directly")] pub fn new(t: T) -> AssertRecoverSafe { AssertRecoverSafe(t) } /// Consumes the `AssertRecoverSafe`, returning the wrapped value. #[unstable(feature = "recover", reason = "awaiting feedback", issue = "27719")] + #[rustc_deprecated(reason = "the type's field is now public, access it directly")] pub fn into_inner(self) -> T { self.0 } -- cgit 1.4.1-3-g733a5