about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2014-04-30 20:34:41 -0700
committerAlex Crichton <alex@alexcrichton.com>2014-05-07 08:13:24 -0700
commit85a8e6b80ae91eb00a0bce96a5cec8017e1b37da (patch)
tree832336fdfbad8e862d1b21b35b11774c88a1493b
parent71924525458e508be139d76f48b34e64a5a9dca3 (diff)
downloadrust-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.rs1
-rw-r--r--src/libstd/unstable/mod.rs3
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;