diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-04-30 20:34:41 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-05-07 08:13:24 -0700 |
| commit | 85a8e6b80ae91eb00a0bce96a5cec8017e1b37da (patch) | |
| tree | 832336fdfbad8e862d1b21b35b11774c88a1493b | |
| parent | 71924525458e508be139d76f48b34e64a5a9dca3 (diff) | |
| download | rust-85a8e6b80ae91eb00a0bce96a5cec8017e1b37da.tar.gz rust-85a8e6b80ae91eb00a0bce96a5cec8017e1b37da.zip | |
core: Inherit the finally module
| -rw-r--r-- | src/libcore/finally.rs (renamed from src/libstd/unstable/finally.rs) | 6 | ||||
| -rw-r--r-- | src/libcore/lib.rs | 1 | ||||
| -rw-r--r-- | src/libstd/unstable/mod.rs | 3 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/libstd/unstable/finally.rs b/src/libcore/finally.rs index 3d00c0ac74a..6d02e6e3a17 100644 --- a/src/libstd/unstable/finally.rs +++ b/src/libcore/finally.rs @@ -30,11 +30,17 @@ use std::unstable::finally::Finally; ``` */ +#![experimental] + use ops::Drop; #[cfg(test)] use task::failing; +/// A trait for executing a destructor unconditionally after a block of code, +/// regardless of whether the blocked fails. pub trait Finally<T> { + /// Executes this object, unconditionally running `dtor` after this block of + /// code has run. fn finally(&mut self, dtor: ||) -> T; } diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs index dd64148aa2b..5206ba1f32a 100644 --- a/src/libcore/lib.rs +++ b/src/libcore/lib.rs @@ -37,4 +37,5 @@ pub mod container; /* Core types and methods on primitives */ +pub mod finally; pub mod char; diff --git a/src/libstd/unstable/mod.rs b/src/libstd/unstable/mod.rs index 372fcc396b1..81aa5506ed8 100644 --- a/src/libstd/unstable/mod.rs +++ b/src/libstd/unstable/mod.rs @@ -13,9 +13,10 @@ use prelude::*; use libc::uintptr_t; +pub use core::finally; + pub mod dynamic_lib; -pub mod finally; pub mod simd; pub mod sync; pub mod mutex; |
