diff options
Diffstat (limited to 'src/libstd/thread')
| -rw-r--r-- | src/libstd/thread/mod.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libstd/thread/mod.rs b/src/libstd/thread/mod.rs index eaa32cdb342..aef47aa5726 100644 --- a/src/libstd/thread/mod.rs +++ b/src/libstd/thread/mod.rs @@ -171,6 +171,7 @@ use sys::thread as imp; use sys_common::thread_info; use sys_common::unwind; use sys_common::util; +use sys_common::{AsInner, IntoInner}; use time::Duration; //////////////////////////////////////////////////////////////////////////////// @@ -621,6 +622,14 @@ impl<T> JoinHandle<T> { } } +impl<T> AsInner<imp::Thread> for JoinHandle<T> { + fn as_inner(&self) -> &imp::Thread { self.0.native.as_ref().unwrap() } +} + +impl<T> IntoInner<imp::Thread> for JoinHandle<T> { + fn into_inner(self) -> imp::Thread { self.0.native.unwrap() } +} + fn _assert_sync_and_send() { fn _assert_both<T: Send + Sync>() {} _assert_both::<JoinHandle<()>>(); |
