diff --git a/src/libextra/c_vec.rs b/src/libextra/c_vec.rs index 205e0be41cb..59b8b70035c 100644 --- a/src/libextra/c_vec.rs +++ b/src/libextra/c_vec.rs @@ -37,7 +37,6 @@ */ use std::ptr; -use std::routine::Runnable; use std::util; /** @@ -50,7 +49,7 @@ pub struct CVec { } struct DtorRes { - dtor: Option<~Runnable>, + dtor: Option, } #[unsafe_destructor] @@ -59,13 +58,13 @@ impl Drop for DtorRes { let dtor = util::replace(&mut self.dtor, None); match dtor { None => (), - Some(f) => f.run() + Some(f) => f() } } } impl DtorRes { - fn new(dtor: Option<~Runnable>) -> DtorRes { + fn new(dtor: Option) -> DtorRes { DtorRes { dtor: dtor, } @@ -103,7 +102,7 @@ pub unsafe fn CVec(base: *mut T, len: uint) -> CVec { * * dtor - A function to run when the value is destructed, useful * for freeing the buffer, etc. */ -pub unsafe fn c_vec_with_dtor(base: *mut T, len: uint, dtor: ~Runnable) +pub unsafe fn c_vec_with_dtor(base: *mut T, len: uint, dtor: proc()) -> CVec { return CVec{ base: base, @@ -155,19 +154,6 @@ mod tests { use std::libc::*; use std::libc; - use std::routine::Runnable; - - struct LibcFree { - mem: *c_void, - } - - impl Runnable for LibcFree { - fn run(~self) { - unsafe { - libc::free(self.mem) - } - } - } fn malloc(n: size_t) -> CVec { unsafe { @@ -177,9 +163,7 @@ mod tests { return c_vec_with_dtor(mem as *mut u8, n as uint, - ~LibcFree { - mem: mem, - } as ~Runnable); + proc() unsafe { libc::free(mem); }); } } diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index ffa91df4e8a..7a8b4467fcc 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -192,7 +192,6 @@ pub mod reflect; pub mod condition; pub mod logging; pub mod util; -pub mod routine; pub mod mem; diff --git a/src/libstd/routine.rs b/src/libstd/routine.rs deleted file mode 100644 index e8a91b49c8e..00000000000 --- a/src/libstd/routine.rs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -/*! - * Routines are like closures except that they own their arguments and can - * only run once. - */ - -/// A routine that takes no arguments and returns nothing. -pub trait Runnable { - /// The entry point for the routine. - fn run(~self); -} - -/// A convenience routine that does nothing. -pub struct NoOpRunnable; - -impl Runnable for NoOpRunnable { - fn run(~self) {} -} -