Skip to content

Commit 85a8e6b

Browse files
committed
core: Inherit the finally module
1 parent 7192452 commit 85a8e6b

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

src/libstd/unstable/finally.rs renamed to src/libcore/finally.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,17 @@ use std::unstable::finally::Finally;
3030
```
3131
*/
3232

33+
#![experimental]
34+
3335
use ops::Drop;
3436

3537
#[cfg(test)] use task::failing;
3638

39+
/// A trait for executing a destructor unconditionally after a block of code,
40+
/// regardless of whether the blocked fails.
3741
pub trait Finally<T> {
42+
/// Executes this object, unconditionally running `dtor` after this block of
43+
/// code has run.
3844
fn finally(&mut self, dtor: ||) -> T;
3945
}
4046

src/libcore/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,5 @@ pub mod container;
3737

3838
/* Core types and methods on primitives */
3939

40+
pub mod finally;
4041
pub mod char;

src/libstd/unstable/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@
1313
use prelude::*;
1414
use libc::uintptr_t;
1515

16+
pub use core::finally;
17+
1618
pub mod dynamic_lib;
1719

18-
pub mod finally;
1920
pub mod simd;
2021
pub mod sync;
2122
pub mod mutex;

0 commit comments

Comments
 (0)