about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLuqman Aden <laden@csclub.uwaterloo.ca>2013-06-20 21:06:13 -0400
committerLuqman Aden <me@luqman.ca>2013-06-25 21:14:39 -0400
commitca2966c6d04958241f13e61310298a5ff69061e2 (patch)
treeddfa1ab38d0dc6eedf6554c61bcacd5d278a155e
parent4967bd0508a4d04797e0fff49517b7abbc086b74 (diff)
downloadrust-ca2966c6d04958241f13e61310298a5ff69061e2.tar.gz
rust-ca2966c6d04958241f13e61310298a5ff69061e2.zip
Change finalize -> drop.
-rw-r--r--doc/tutorial-ffi.md2
-rw-r--r--doc/tutorial.md6
-rw-r--r--src/etc/vim/syntax/rust.vim2
-rw-r--r--src/libextra/arc.rs2
-rw-r--r--src/libextra/arena.rs2
-rw-r--r--src/libextra/c_vec.rs2
-rw-r--r--src/libextra/future.rs2
-rw-r--r--src/libextra/net_tcp.rs2
-rw-r--r--src/libextra/rc.rs4
-rw-r--r--src/libextra/sort.rs2
-rw-r--r--src/libextra/sync.rs16
-rw-r--r--src/libextra/task_pool.rs2
-rw-r--r--src/librustc/back/passes.rs2
-rw-r--r--src/librustc/lib/llvm.rs8
-rw-r--r--src/librustc/middle/trans/base.rs2
-rw-r--r--src/librustc/middle/trans/common.rs2
-rw-r--r--src/librustc/middle/trans/context.rs2
-rw-r--r--src/librustc/rustc.rs2
-rw-r--r--src/librustc/util/common.rs2
-rw-r--r--src/librustdoc/demo.rs2
-rw-r--r--src/libstd/condition.rs2
-rw-r--r--src/libstd/io.rs6
-rw-r--r--src/libstd/ops.rs2
-rw-r--r--src/libstd/option.rs2
-rw-r--r--src/libstd/pipes.rs6
-rw-r--r--src/libstd/rt/comm.rs4
-rw-r--r--src/libstd/rt/local_heap.rs2
-rw-r--r--src/libstd/rt/rc.rs2
-rw-r--r--src/libstd/rt/stack.rs2
-rw-r--r--src/libstd/rt/task.rs2
-rw-r--r--src/libstd/rt/thread.rs2
-rw-r--r--src/libstd/rt/uv/uvio.rs6
-rw-r--r--src/libstd/rt/uvio.rs6
-rw-r--r--src/libstd/run.rs2
-rw-r--r--src/libstd/task/spawn.rs4
-rw-r--r--src/libstd/unstable/atomics.rs2
-rw-r--r--src/libstd/unstable/dynamic_lib.rs2
-rw-r--r--src/libstd/unstable/finally.rs2
-rw-r--r--src/libstd/unstable/global.rs2
-rw-r--r--src/libstd/unstable/sync.rs4
-rw-r--r--src/libstd/util.rs2
-rw-r--r--src/libsyntax/parse/parser.rs2
-rw-r--r--src/test/auxiliary/issue-2526.rs4
-rw-r--r--src/test/auxiliary/issue-3012-1.rs2
-rw-r--r--src/test/auxiliary/issue2170lib.rs2
-rw-r--r--src/test/auxiliary/moves_based_on_type_lib.rs2
-rw-r--r--src/test/bench/task-perf-alloc-unwind.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-1.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-no-lvalues-1.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-no-lvalues-2.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-no-sub-bindings.rs2
-rw-r--r--src/test/compile-fail/block-must-not-have-result-res.rs2
-rw-r--r--src/test/compile-fail/borrowck-borrowed-uniq-rvalue-2.rs2
-rw-r--r--src/test/compile-fail/copy-a-resource.rs2
-rw-r--r--src/test/compile-fail/disallowed-deconstructing-destructing-struct-let.rs2
-rw-r--r--src/test/compile-fail/disallowed-deconstructing-destructing-struct-match.rs2
-rw-r--r--src/test/compile-fail/drop-on-non-struct.rs2
-rw-r--r--src/test/compile-fail/explicit-call-to-dtor.rs4
-rw-r--r--src/test/compile-fail/explicit-call-to-supertrait-dtor.rs4
-rw-r--r--src/test/compile-fail/issue-2548.rs2
-rw-r--r--src/test/compile-fail/issue-2823.rs2
-rw-r--r--src/test/compile-fail/issue-3214.rs2
-rw-r--r--src/test/compile-fail/kindck-destructor-owned.rs2
-rw-r--r--src/test/compile-fail/no-send-res-ports.rs2
-rw-r--r--src/test/compile-fail/noncopyable-class.rs2
-rw-r--r--src/test/compile-fail/pinned-deep-copy.rs2
-rw-r--r--src/test/compile-fail/repeat-to-run-dtor-twice.rs2
-rw-r--r--src/test/compile-fail/unique-object-noncopyable.rs2
-rw-r--r--src/test/compile-fail/unique-pinned-nocopy.rs2
-rw-r--r--src/test/compile-fail/unique-vec-res.rs2
-rw-r--r--src/test/compile-fail/use-after-move-self-based-on-type.rs2
-rw-r--r--src/test/compile-fail/vec-res-add.rs2
-rw-r--r--src/test/run-fail/issue-2061.rs2
-rw-r--r--src/test/run-fail/morestack2.rs2
-rw-r--r--src/test/run-fail/morestack3.rs2
-rw-r--r--src/test/run-fail/morestack4.rs2
-rw-r--r--src/test/run-fail/rt-set-exit-status-fail2.rs2
-rw-r--r--src/test/run-fail/too-much-recursion-unwinding.rs2
-rw-r--r--src/test/run-fail/unwind-box-res.rs2
-rw-r--r--src/test/run-fail/unwind-resource-fail.rs2
-rw-r--r--src/test/run-fail/unwind-resource-fail2.rs2
-rw-r--r--src/test/run-fail/unwind-resource-fail3.rs2
-rw-r--r--src/test/run-pass/attr-no-drop-flag-size.rs2
-rw-r--r--src/test/run-pass/borrowck-unary-move-2.rs2
-rw-r--r--src/test/run-pass/class-attributes-1.rs2
-rw-r--r--src/test/run-pass/class-attributes-2.rs2
-rw-r--r--src/test/run-pass/class-dtor.rs2
-rw-r--r--src/test/run-pass/drop-trait-generic.rs2
-rw-r--r--src/test/run-pass/drop-trait.rs2
-rw-r--r--src/test/run-pass/init-res-into-things.rs2
-rw-r--r--src/test/run-pass/issue-2487-a.rs2
-rw-r--r--src/test/run-pass/issue-2708.rs2
-rw-r--r--src/test/run-pass/issue-2718.rs4
-rw-r--r--src/test/run-pass/issue-2735-2.rs2
-rw-r--r--src/test/run-pass/issue-2735-3.rs2
-rw-r--r--src/test/run-pass/issue-2895.rs2
-rw-r--r--src/test/run-pass/issue-3220.rs2
-rw-r--r--src/test/run-pass/issue-3563-3.rs2
-rw-r--r--src/test/run-pass/issue-4252.rs2
-rw-r--r--src/test/run-pass/issue-4735.rs2
-rw-r--r--src/test/run-pass/issue-6341.rs2
-rw-r--r--src/test/run-pass/issue-6344-let.rs2
-rw-r--r--src/test/run-pass/issue-6344-match.rs2
-rw-r--r--src/test/run-pass/issue-979.rs2
-rw-r--r--src/test/run-pass/newtype-struct-drop-run.rs2
-rw-r--r--src/test/run-pass/newtype-struct-with-dtor.rs2
-rw-r--r--src/test/run-pass/option-unwrap.rs2
-rw-r--r--src/test/run-pass/pipe-presentation-examples.rs2
-rw-r--r--src/test/run-pass/resource-assign-is-not-copy.rs2
-rw-r--r--src/test/run-pass/resource-cycle.rs2
-rw-r--r--src/test/run-pass/resource-cycle2.rs2
-rw-r--r--src/test/run-pass/resource-cycle3.rs2
-rw-r--r--src/test/run-pass/resource-destruct.rs2
-rw-r--r--src/test/run-pass/resource-generic.rs2
-rw-r--r--src/test/run-pass/resource-in-struct.rs2
-rw-r--r--src/test/run-pass/send-resource.rs2
-rw-r--r--src/test/run-pass/struct-literal-dtor.rs2
-rw-r--r--src/test/run-pass/task-killjoin-rsrc.rs2
-rw-r--r--src/test/run-pass/type-param-constraints.rs2
-rw-r--r--src/test/run-pass/unique-pinned-nocopy-2.rs2
-rw-r--r--src/test/run-pass/unit-like-struct-drop-run.rs2
-rw-r--r--src/test/run-pass/unwind-resource.rs2
-rw-r--r--src/test/run-pass/unwind-resource2.rs2
-rw-r--r--src/test/run-pass/vec-slice-drop.rs2
127 files changed, 155 insertions, 155 deletions
diff --git a/doc/tutorial-ffi.md b/doc/tutorial-ffi.md
index d3c682ce1ad..346112e655b 100644
--- a/doc/tutorial-ffi.md
+++ b/doc/tutorial-ffi.md
@@ -183,7 +183,7 @@ impl<T: Owned> Unique<T> {
 
 #[unsafe_destructor]
 impl<T: Owned> Drop for Unique<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             let x = intrinsics::init(); // dummy value to swap in
             // moving the object out is needed to call the destructor
diff --git a/doc/tutorial.md b/doc/tutorial.md
index 9c61a04930a..c18cca8d5a2 100644
--- a/doc/tutorial.md
+++ b/doc/tutorial.md
@@ -1979,7 +1979,7 @@ types by the compiler, and may not be overridden:
 > iterations of the language, and often still are.
 
 Additionally, the `Drop` trait is used to define destructors. This
-trait defines one method called `finalize`, which is automatically
+trait defines one method called `drop`, which is automatically
 called when a value of the type that implements this trait is
 destroyed, either because the value went out of scope or because the
 garbage collector reclaimed it.
@@ -1990,7 +1990,7 @@ struct TimeBomb {
 }
 
 impl Drop for TimeBomb {
-    fn finalize(&self) {
+    fn drop(&self) {
         for self.explosivity.times {
             println("blam!");
         }
@@ -1998,7 +1998,7 @@ impl Drop for TimeBomb {
 }
 ~~~
 
-It is illegal to call `finalize` directly. Only code inserted by the compiler
+It is illegal to call `drop` directly. Only code inserted by the compiler
 may call it.
 
 ## Declaring and implementing traits
diff --git a/src/etc/vim/syntax/rust.vim b/src/etc/vim/syntax/rust.vim
index 625424ac870..db64e0eb719 100644
--- a/src/etc/vim/syntax/rust.vim
+++ b/src/etc/vim/syntax/rust.vim
@@ -15,7 +15,7 @@ syn keyword   rustOperator    as
 
 syn match     rustAssert      "\<assert\(\w\)*!"
 syn match     rustFail        "\<fail\(\w\)*!"
-syn keyword   rustKeyword     break copy do drop extern
+syn keyword   rustKeyword     break copy do extern
 syn keyword   rustKeyword     for if impl let log
 syn keyword   rustKeyword     copy do extern
 syn keyword   rustKeyword     for impl let log
diff --git a/src/libextra/arc.rs b/src/libextra/arc.rs
index 32114f4037e..b6cd102cf3d 100644
--- a/src/libextra/arc.rs
+++ b/src/libextra/arc.rs
@@ -247,7 +247,7 @@ struct PoisonOnFail {
 }
 
 impl Drop for PoisonOnFail {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             /* assert!(!*self.failed);
                -- might be false in case of cond.wait() */
diff --git a/src/libextra/arena.rs b/src/libextra/arena.rs
index 4d37c244b13..604d9ba7373 100644
--- a/src/libextra/arena.rs
+++ b/src/libextra/arena.rs
@@ -77,7 +77,7 @@ pub struct Arena {
 
 #[unsafe_destructor]
 impl Drop for Arena {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             destroy_chunk(&self.head);
             for self.chunks.each |chunk| {
diff --git a/src/libextra/c_vec.rs b/src/libextra/c_vec.rs
index fd48e7d5958..84593630cab 100644
--- a/src/libextra/c_vec.rs
+++ b/src/libextra/c_vec.rs
@@ -57,7 +57,7 @@ struct DtorRes {
 
 #[unsafe_destructor]
 impl Drop for DtorRes {
-    fn finalize(&self) {
+    fn drop(&self) {
         match self.dtor {
             option::None => (),
             option::Some(f) => f()
diff --git a/src/libextra/future.rs b/src/libextra/future.rs
index 4652e1d6477..19e4d221d33 100644
--- a/src/libextra/future.rs
+++ b/src/libextra/future.rs
@@ -44,7 +44,7 @@ pub struct Future<A> {
 // over ~fn's that have pipes and so forth within!
 #[unsafe_destructor]
 impl<A> Drop for Future<A> {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 priv enum FutureState<A> {
diff --git a/src/libextra/net_tcp.rs b/src/libextra/net_tcp.rs
index d4434012178..6ad51931c67 100644
--- a/src/libextra/net_tcp.rs
+++ b/src/libextra/net_tcp.rs
@@ -57,7 +57,7 @@ pub struct TcpSocket {
 
 #[unsafe_destructor]
 impl Drop for TcpSocket {
-    fn finalize(&self) {
+    fn drop(&self) {
         tear_down_socket_data(self.socket_data)
     }
 }
diff --git a/src/libextra/rc.rs b/src/libextra/rc.rs
index 555cceb5b44..8ef58a188d9 100644
--- a/src/libextra/rc.rs
+++ b/src/libextra/rc.rs
@@ -68,7 +68,7 @@ impl<T> Rc<T> {
 
 #[unsafe_destructor]
 impl<T> Drop for Rc<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             if self.ptr.is_not_null() {
                 (*self.ptr).count -= 1;
@@ -220,7 +220,7 @@ impl<T> RcMut<T> {
 
 #[unsafe_destructor]
 impl<T> Drop for RcMut<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             if self.ptr.is_not_null() {
                 (*self.ptr).count -= 1;
diff --git a/src/libextra/sort.rs b/src/libextra/sort.rs
index ae2a5c01993..3c872d64ca0 100644
--- a/src/libextra/sort.rs
+++ b/src/libextra/sort.rs
@@ -1207,7 +1207,7 @@ mod big_tests {
 
     #[unsafe_destructor]
     impl<'self> Drop for LVal<'self> {
-        fn finalize(&self) {
+        fn drop(&self) {
             let x = unsafe { local_data::local_data_get(self.key) };
             match x {
                 Some(@y) => {
diff --git a/src/libextra/sync.rs b/src/libextra/sync.rs
index 6990d35f061..63fde546047 100644
--- a/src/libextra/sync.rs
+++ b/src/libextra/sync.rs
@@ -176,7 +176,7 @@ struct SemReleaseGeneric<'self, Q> { sem: &'self Sem<Q> }
 #[doc(hidden)]
 #[unsafe_destructor]
 impl<'self, Q:Owned> Drop for SemReleaseGeneric<'self, Q> {
-    fn finalize(&self) {
+    fn drop(&self) {
         self.sem.release();
     }
 }
@@ -219,7 +219,7 @@ pub struct Condvar<'self> {
 }
 
 #[unsafe_destructor]
-impl<'self> Drop for Condvar<'self> { fn finalize(&self) {} }
+impl<'self> Drop for Condvar<'self> { fn drop(&self) {} }
 
 impl<'self> Condvar<'self> {
     /**
@@ -295,7 +295,7 @@ impl<'self> Condvar<'self> {
 
         #[unsafe_destructor]
         impl<'self> Drop for CondvarReacquire<'self> {
-            fn finalize(&self) {
+            fn drop(&self) {
                 unsafe {
                     // Needs to succeed, instead of itself dying.
                     do task::unkillable {
@@ -689,7 +689,7 @@ struct RWlockReleaseRead<'self> {
 #[doc(hidden)]
 #[unsafe_destructor]
 impl<'self> Drop for RWlockReleaseRead<'self> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             do task::unkillable {
                 let state = &mut *self.lock.state.get();
@@ -726,7 +726,7 @@ struct RWlockReleaseDowngrade<'self> {
 #[doc(hidden)]
 #[unsafe_destructor]
 impl<'self> Drop for RWlockReleaseDowngrade<'self> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             do task::unkillable {
                 let writer_or_last_reader;
@@ -769,12 +769,12 @@ fn RWlockReleaseDowngrade<'r>(lock: &'r RWlock)
 /// The "write permission" token used for rwlock.write_downgrade().
 pub struct RWlockWriteMode<'self> { priv lock: &'self RWlock }
 #[unsafe_destructor]
-impl<'self> Drop for RWlockWriteMode<'self> { fn finalize(&self) {} }
+impl<'self> Drop for RWlockWriteMode<'self> { fn drop(&self) {} }
 
 /// The "read permission" token used for rwlock.write_downgrade().
 pub struct RWlockReadMode<'self> { priv lock: &'self RWlock }
 #[unsafe_destructor]
-impl<'self> Drop for RWlockReadMode<'self> { fn finalize(&self) {} }
+impl<'self> Drop for RWlockReadMode<'self> { fn drop(&self) {} }
 
 impl<'self> RWlockWriteMode<'self> {
     /// Access the pre-downgrade rwlock in write mode.
@@ -1104,7 +1104,7 @@ mod tests {
         }
 
         impl Drop for SendOnFailure {
-            fn finalize(&self) {
+            fn drop(&self) {
                 self.c.send(());
             }
         }
diff --git a/src/libextra/task_pool.rs b/src/libextra/task_pool.rs
index 643081d4a7a..6a715d7b481 100644
--- a/src/libextra/task_pool.rs
+++ b/src/libextra/task_pool.rs
@@ -35,7 +35,7 @@ pub struct TaskPool<T> {
 
 #[unsafe_destructor]
 impl<T> Drop for TaskPool<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         for self.channels.iter().advance |channel| {
             channel.send(Quit);
         }
diff --git a/src/librustc/back/passes.rs b/src/librustc/back/passes.rs
index 2c994fbc3fc..fa261a977f5 100644
--- a/src/librustc/back/passes.rs
+++ b/src/librustc/back/passes.rs
@@ -23,7 +23,7 @@ pub struct PassManager {
 }
 
 impl Drop for PassManager {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             llvm::LLVMDisposePassManager(self.llpm);
         }
diff --git a/src/librustc/lib/llvm.rs b/src/librustc/lib/llvm.rs
index 4bc96117ff5..d7f33dcf0d0 100644
--- a/src/librustc/lib/llvm.rs
+++ b/src/librustc/lib/llvm.rs
@@ -2216,7 +2216,7 @@ pub struct target_data_res {
 }
 
 impl Drop for target_data_res {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             llvm::LLVMDisposeTargetData(self.TD);
         }
@@ -2253,7 +2253,7 @@ pub struct pass_manager_res {
 }
 
 impl Drop for pass_manager_res {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             llvm::LLVMDisposePassManager(self.PM);
         }
@@ -2289,7 +2289,7 @@ pub struct object_file_res {
 }
 
 impl Drop for object_file_res {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             llvm::LLVMDisposeObjectFile(self.ObjectFile);
         }
@@ -2326,7 +2326,7 @@ pub struct section_iter_res {
 }
 
 impl Drop for section_iter_res {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             llvm::LLVMDisposeSectionIterator(self.SI);
         }
diff --git a/src/librustc/middle/trans/base.rs b/src/librustc/middle/trans/base.rs
index 0e322c187af..6b826a9b940 100644
--- a/src/librustc/middle/trans/base.rs
+++ b/src/librustc/middle/trans/base.rs
@@ -110,7 +110,7 @@ pub struct _InsnCtxt { _x: () }
 
 #[unsafe_destructor]
 impl Drop for _InsnCtxt {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             do local_data::local_data_modify(task_local_insn_key) |c| {
                 do c.map_consume |@ctx| {
diff --git a/src/librustc/middle/trans/common.rs b/src/librustc/middle/trans/common.rs
index 7baa3ec068b..442ab475046 100644
--- a/src/librustc/middle/trans/common.rs
+++ b/src/librustc/middle/trans/common.rs
@@ -110,7 +110,7 @@ pub struct BuilderRef_res {
 }
 
 impl Drop for BuilderRef_res {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             llvm::LLVMDisposeBuilder(self.B);
         }
diff --git a/src/librustc/middle/trans/context.rs b/src/librustc/middle/trans/context.rs
index 715b1c88327..57cfb1474df 100644
--- a/src/librustc/middle/trans/context.rs
+++ b/src/librustc/middle/trans/context.rs
@@ -241,7 +241,7 @@ impl CrateContext {
 
 #[unsafe_destructor]
 impl Drop for CrateContext {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             unset_task_llcx();
         }
diff --git a/src/librustc/rustc.rs b/src/librustc/rustc.rs
index 20705b3d797..899dc85bb8a 100644
--- a/src/librustc/rustc.rs
+++ b/src/librustc/rustc.rs
@@ -328,7 +328,7 @@ pub fn monitor(f: ~fn(diagnostic::Emitter)) {
         }
 
         impl Drop for finally {
-            fn finalize(&self) { self.ch.send(done); }
+            fn drop(&self) { self.ch.send(done); }
         }
 
         let _finally = finally { ch: ch };
diff --git a/src/librustc/util/common.rs b/src/librustc/util/common.rs
index 0839c2b963b..351519975ad 100644
--- a/src/librustc/util/common.rs
+++ b/src/librustc/util/common.rs
@@ -41,7 +41,7 @@ pub struct _indenter {
 }
 
 impl Drop for _indenter {
-    fn finalize(&self) { debug!("<<"); }
+    fn drop(&self) { debug!("<<"); }
 }
 
 pub fn _indenter(_i: ()) -> _indenter {
diff --git a/src/librustdoc/demo.rs b/src/librustdoc/demo.rs
index c5fb8f289f6..9cac958a113 100644
--- a/src/librustdoc/demo.rs
+++ b/src/librustdoc/demo.rs
@@ -128,7 +128,7 @@ struct Bored {
 }
 
 impl Drop for Bored {
-  fn finalize(&self) { }
+  fn drop(&self) { }
 }
 
 /**
diff --git a/src/libstd/condition.rs b/src/libstd/condition.rs
index 2f150a0d1b2..04f2d815d08 100644
--- a/src/libstd/condition.rs
+++ b/src/libstd/condition.rs
@@ -90,7 +90,7 @@ struct Guard<'self, T, U> {
 
 #[unsafe_destructor]
 impl<'self, T, U> Drop for Guard<'self, T, U> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             debug!("Guard: popping handler from TLS");
             let curr = local_data_pop(self.cond.key);
diff --git a/src/libstd/io.rs b/src/libstd/io.rs
index fc0b4da79bd..71a0dd6b9b2 100644
--- a/src/libstd/io.rs
+++ b/src/libstd/io.rs
@@ -989,7 +989,7 @@ impl FILERes {
 }
 
 impl Drop for FILERes {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             libc::fclose(self.f);
         }
@@ -1234,7 +1234,7 @@ impl FdRes {
 }
 
 impl Drop for FdRes {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             libc::close(self.fd);
         }
@@ -1772,7 +1772,7 @@ pub mod fsync {
 
     #[unsafe_destructor]
     impl<T:Copy> Drop for Res<T> {
-        fn finalize(&self) {
+        fn drop(&self) {
             match self.arg.opt_level {
                 None => (),
                 Some(level) => {
diff --git a/src/libstd/ops.rs b/src/libstd/ops.rs
index 77cfe62e495..020131ab119 100644
--- a/src/libstd/ops.rs
+++ b/src/libstd/ops.rs
@@ -14,7 +14,7 @@
 
 #[lang="drop"]
 pub trait Drop {
-    fn finalize(&self);  // FIXME(#4332): Rename to "drop"? --pcwalton
+    fn drop(&self);
 }
 
 #[lang="add"]
diff --git a/src/libstd/option.rs b/src/libstd/option.rs
index 88a66249c96..f3ea81f1ae5 100644
--- a/src/libstd/option.rs
+++ b/src/libstd/option.rs
@@ -416,7 +416,7 @@ fn test_unwrap_resource() {
 
     #[unsafe_destructor]
     impl ::ops::Drop for R {
-       fn finalize(&self) { *(self.i) += 1; }
+       fn drop(&self) { *(self.i) += 1; }
     }
 
     fn R(i: @mut int) -> R {
diff --git a/src/libstd/pipes.rs b/src/libstd/pipes.rs
index 26dd4af45d6..661dc2a659f 100644
--- a/src/libstd/pipes.rs
+++ b/src/libstd/pipes.rs
@@ -309,7 +309,7 @@ struct BufferResource<T> {
 
 #[unsafe_destructor]
 impl<T> Drop for BufferResource<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             // FIXME(#4330) Need self by value to get mutability.
             let this: &mut BufferResource<T> = transmute_mut(self);
@@ -672,7 +672,7 @@ pub struct SendPacketBuffered<T, Tbuffer> {
 
 #[unsafe_destructor]
 impl<T:Owned,Tbuffer:Owned> Drop for SendPacketBuffered<T,Tbuffer> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             let this: &mut SendPacketBuffered<T,Tbuffer> = transmute(self);
             if this.p != None {
@@ -730,7 +730,7 @@ pub struct RecvPacketBuffered<T, Tbuffer> {
 
 #[unsafe_destructor]
 impl<T:Owned,Tbuffer:Owned> Drop for RecvPacketBuffered<T,Tbuffer> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             let this: &mut RecvPacketBuffered<T,Tbuffer> = transmute(self);
             if this.p != None {
diff --git a/src/libstd/rt/comm.rs b/src/libstd/rt/comm.rs
index 5d85e292861..75b1d8f3810 100644
--- a/src/libstd/rt/comm.rs
+++ b/src/libstd/rt/comm.rs
@@ -222,7 +222,7 @@ impl<T> Peekable<T> for PortOne<T> {
 
 #[unsafe_destructor]
 impl<T> Drop for ChanOneHack<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         if self.suppress_finalize { return }
 
         unsafe {
@@ -249,7 +249,7 @@ impl<T> Drop for ChanOneHack<T> {
 
 #[unsafe_destructor]
 impl<T> Drop for PortOneHack<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         if self.suppress_finalize { return }
 
         unsafe {
diff --git a/src/libstd/rt/local_heap.rs b/src/libstd/rt/local_heap.rs
index 6bf228a1b22..c5c22f45159 100644
--- a/src/libstd/rt/local_heap.rs
+++ b/src/libstd/rt/local_heap.rs
@@ -57,7 +57,7 @@ impl LocalHeap {
 }
 
 impl Drop for LocalHeap {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             rust_delete_boxed_region(self.boxed_region);
             rust_delete_memory_region(self.memory_region);
diff --git a/src/libstd/rt/rc.rs b/src/libstd/rt/rc.rs
index 2977d081508..18a5dd4a114 100644
--- a/src/libstd/rt/rc.rs
+++ b/src/libstd/rt/rc.rs
@@ -74,7 +74,7 @@ impl<T> RC<T> {
 
 #[unsafe_destructor]
 impl<T> Drop for RC<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         assert!(self.refcount() > 0);
 
         unsafe {
diff --git a/src/libstd/rt/stack.rs b/src/libstd/rt/stack.rs
index b0e87a62c8b..fbb516b2df4 100644
--- a/src/libstd/rt/stack.rs
+++ b/src/libstd/rt/stack.rs
@@ -49,7 +49,7 @@ impl StackSegment {
 }
 
 impl Drop for StackSegment {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             // XXX: Using the FFI to call a C macro. Slow
             rust_valgrind_stack_deregister(self.valgrind_id);
diff --git a/src/libstd/rt/task.rs b/src/libstd/rt/task.rs
index 41390aec80c..f5f5aca71f5 100644
--- a/src/libstd/rt/task.rs
+++ b/src/libstd/rt/task.rs
@@ -103,7 +103,7 @@ impl Task {
 }
 
 impl Drop for Task {
-    fn finalize(&self) { assert!(self.destroyed) }
+    fn drop(&self) { assert!(self.destroyed) }
 }
 
 // Just a sanity check to make sure we are catching a Rust-thrown exception
diff --git a/src/libstd/rt/thread.rs b/src/libstd/rt/thread.rs
index bc290191310..98d08c060e0 100644
--- a/src/libstd/rt/thread.rs
+++ b/src/libstd/rt/thread.rs
@@ -33,7 +33,7 @@ impl Thread {
 }
 
 impl Drop for Thread {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe { rust_raw_thread_join_delete(self.raw_thread) }
     }
 }
diff --git a/src/libstd/rt/uv/uvio.rs b/src/libstd/rt/uv/uvio.rs
index 964ee460c1d..15c405bae69 100644
--- a/src/libstd/rt/uv/uvio.rs
+++ b/src/libstd/rt/uv/uvio.rs
@@ -47,7 +47,7 @@ impl UvEventLoop {
 }
 
 impl Drop for UvEventLoop {
-    fn finalize(&self) {
+    fn drop(&self) {
         // XXX: Need mutable finalizer
         let this = unsafe {
             transmute::<&UvEventLoop, &mut UvEventLoop>(self)
@@ -200,7 +200,7 @@ impl UvTcpListener {
 }
 
 impl Drop for UvTcpListener {
-    fn finalize(&self) {
+    fn drop(&self) {
         let watcher = self.watcher();
         let scheduler = Local::take::<Scheduler>();
         do scheduler.deschedule_running_task_and_then |task| {
@@ -261,7 +261,7 @@ impl UvTcpStream {
 }
 
 impl Drop for UvTcpStream {
-    fn finalize(&self) {
+    fn drop(&self) {
         rtdebug!("closing tcp stream");
         let watcher = self.watcher();
         let scheduler = Local::take::<Scheduler>();
diff --git a/src/libstd/rt/uvio.rs b/src/libstd/rt/uvio.rs
index f4a79934e7e..0187ad3abf5 100644
--- a/src/libstd/rt/uvio.rs
+++ b/src/libstd/rt/uvio.rs
@@ -42,7 +42,7 @@ impl UvEventLoop {
 }
 
 impl Drop for UvEventLoop {
-    fn finalize(&self) {
+    fn drop(&self) {
         // XXX: Need mutable finalizer
         let this = unsafe {
             transmute::<&UvEventLoop, &mut UvEventLoop>(self)
@@ -164,7 +164,7 @@ impl UvTcpListener {
 }
 
 impl Drop for UvTcpListener {
-    fn finalize(&self) {
+    fn drop(&self) {
         // XXX: Again, this never gets called. Use .close() instead
         //self.watcher().as_stream().close(||());
     }
@@ -230,7 +230,7 @@ impl UvStream {
 }
 
 impl Drop for UvStream {
-    fn finalize(&self) {
+    fn drop(&self) {
         rtdebug!("closing stream");
         //self.watcher().close(||());
     }
diff --git a/src/libstd/run.rs b/src/libstd/run.rs
index c965af7c10c..08bb7ee7281 100644
--- a/src/libstd/run.rs
+++ b/src/libstd/run.rs
@@ -428,7 +428,7 @@ impl Process {
 }
 
 impl Drop for Process {
-    fn finalize(&self) {
+    fn drop(&self) {
         // FIXME(#4330) Need self by value to get mutability.
         let mut_self: &mut Process = unsafe { cast::transmute(self) };
 
diff --git a/src/libstd/task/spawn.rs b/src/libstd/task/spawn.rs
index 77053f39677..f0e3bda34ea 100644
--- a/src/libstd/task/spawn.rs
+++ b/src/libstd/task/spawn.rs
@@ -317,7 +317,7 @@ struct TCB {
 
 impl Drop for TCB {
     // Runs on task exit.
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             // FIXME(#4330) Need self by value to get mutability.
             let this: &mut TCB = transmute(self);
@@ -372,7 +372,7 @@ struct AutoNotify {
 }
 
 impl Drop for AutoNotify {
-    fn finalize(&self) {
+    fn drop(&self) {
         let result = if self.failed { Failure } else { Success };
         self.notify_chan.send(result);
     }
diff --git a/src/libstd/unstable/atomics.rs b/src/libstd/unstable/atomics.rs
index 7a3a5f51d35..45eced9846c 100644
--- a/src/libstd/unstable/atomics.rs
+++ b/src/libstd/unstable/atomics.rs
@@ -276,7 +276,7 @@ impl<T> AtomicOption<T> {
 
 #[unsafe_destructor]
 impl<T> Drop for AtomicOption<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         // This will ensure that the contained data is
         // destroyed, unless it's null.
         unsafe {
diff --git a/src/libstd/unstable/dynamic_lib.rs b/src/libstd/unstable/dynamic_lib.rs
index 64dd5bba6bc..9ea35396915 100644
--- a/src/libstd/unstable/dynamic_lib.rs
+++ b/src/libstd/unstable/dynamic_lib.rs
@@ -25,7 +25,7 @@ use result::*;
 pub struct DynamicLibrary { priv handle: *libc::c_void }
 
 impl Drop for DynamicLibrary {
-    fn finalize(&self) {
+    fn drop(&self) {
         match do dl::check_for_errors_in {
             unsafe {
                 dl::close(self.handle)
diff --git a/src/libstd/unstable/finally.rs b/src/libstd/unstable/finally.rs
index b15bceddb1c..10db664450e 100644
--- a/src/libstd/unstable/finally.rs
+++ b/src/libstd/unstable/finally.rs
@@ -64,7 +64,7 @@ struct Finallyalizer<'self> {
 
 #[unsafe_destructor]
 impl<'self> Drop for Finallyalizer<'self> {
-    fn finalize(&self) {
+    fn drop(&self) {
         (self.dtor)();
     }
 }
diff --git a/src/libstd/unstable/global.rs b/src/libstd/unstable/global.rs
index f81252274c4..4fde8f704b9 100644
--- a/src/libstd/unstable/global.rs
+++ b/src/libstd/unstable/global.rs
@@ -147,7 +147,7 @@ struct GlobalState {
 }
 
 impl Drop for GlobalState {
-    fn finalize(&self) {
+    fn drop(&self) {
         for self.map.each_value |v| {
             match v {
                 &(_, ref dtor) => (*dtor)()
diff --git a/src/libstd/unstable/sync.rs b/src/libstd/unstable/sync.rs
index 235dfa01849..0f9298595ee 100644
--- a/src/libstd/unstable/sync.rs
+++ b/src/libstd/unstable/sync.rs
@@ -75,7 +75,7 @@ impl<T: Owned> Clone for UnsafeAtomicRcBox<T> {
 
 #[unsafe_destructor]
 impl<T> Drop for UnsafeAtomicRcBox<T>{
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             do task::unkillable {
                 let mut data: ~AtomicRcBoxData<T> = cast::transmute(self.data);
@@ -102,7 +102,7 @@ struct LittleLock {
 }
 
 impl Drop for LittleLock {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             rust_destroy_little_lock(self.l);
         }
diff --git a/src/libstd/util.rs b/src/libstd/util.rs
index 2a5d44c9ce2..6eddae17ce6 100644
--- a/src/libstd/util.rs
+++ b/src/libstd/util.rs
@@ -83,7 +83,7 @@ impl NonCopyable {
 }
 
 impl Drop for NonCopyable {
-    fn finalize(&self) { }
+    fn drop(&self) { }
 }
 
 
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index d8aab1f68ee..d8829da3b31 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -268,7 +268,7 @@ pub struct Parser {
 #[unsafe_destructor]
 impl Drop for Parser {
     /* do not copy the parser; its state is tied to outside state */
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 impl Parser {
diff --git a/src/test/auxiliary/issue-2526.rs b/src/test/auxiliary/issue-2526.rs
index bbc0f1ad3e5..d4f6a1ec404 100644
--- a/src/test/auxiliary/issue-2526.rs
+++ b/src/test/auxiliary/issue-2526.rs
@@ -21,7 +21,7 @@ struct arc_destruct<T> {
 
 #[unsafe_destructor]
 impl<T:Const> Drop for arc_destruct<T> {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn arc_destruct<T:Const>(data: int) -> arc_destruct<T> {
@@ -45,7 +45,7 @@ struct context_res {
 }
 
 impl Drop for context_res {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn context_res() -> context_res {
diff --git a/src/test/auxiliary/issue-3012-1.rs b/src/test/auxiliary/issue-3012-1.rs
index ce40afff3ae..9c9b3d9f243 100644
--- a/src/test/auxiliary/issue-3012-1.rs
+++ b/src/test/auxiliary/issue-3012-1.rs
@@ -19,7 +19,7 @@ pub mod socket {
     }
 
     impl Drop for socket_handle {
-        fn finalize(&self) {
+        fn drop(&self) {
             /* c::close(self.sockfd); */
         }
     }
diff --git a/src/test/auxiliary/issue2170lib.rs b/src/test/auxiliary/issue2170lib.rs
index 0690a017449..ec5d8baf259 100644
--- a/src/test/auxiliary/issue2170lib.rs
+++ b/src/test/auxiliary/issue2170lib.rs
@@ -16,7 +16,7 @@ pub struct rsrc {
 }
 
 impl Drop for rsrc {
-    fn finalize(&self) {
+    fn drop(&self) {
         foo(self.x);
     }
 }
diff --git a/src/test/auxiliary/moves_based_on_type_lib.rs b/src/test/auxiliary/moves_based_on_type_lib.rs
index b3a9b3e1ee9..cd72468511e 100644
--- a/src/test/auxiliary/moves_based_on_type_lib.rs
+++ b/src/test/auxiliary/moves_based_on_type_lib.rs
@@ -15,7 +15,7 @@ pub struct S {
 }
 
 impl Drop for S {
-    fn finalize(&self) {
+    fn drop(&self) {
         println("goodbye");
     }
 }
diff --git a/src/test/bench/task-perf-alloc-unwind.rs b/src/test/bench/task-perf-alloc-unwind.rs
index 7a04a06d6a6..e245ab894f5 100644
--- a/src/test/bench/task-perf-alloc-unwind.rs
+++ b/src/test/bench/task-perf-alloc-unwind.rs
@@ -60,7 +60,7 @@ struct r {
 
 #[unsafe_destructor]
 impl Drop for r {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn r(l: @nillist) -> r {
diff --git a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-1.rs b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-1.rs
index e9bc4a5e195..6353d7c6581 100644
--- a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-1.rs
+++ b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-1.rs
@@ -11,7 +11,7 @@
 struct X { x: () }
 
 impl Drop for X {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("destructor runs");
     }
 }
diff --git a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs
index 6548adddf19..6ea5f85797f 100644
--- a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs
+++ b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs
@@ -11,7 +11,7 @@
 struct X { x: (), }
 
 impl Drop for X {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("destructor runs");
     }
 }
diff --git a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs
index aaa9d9f920a..8f0642896f1 100644
--- a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs
+++ b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs
@@ -11,7 +11,7 @@
 struct X { x: (), }
 
 impl Drop for X {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("destructor runs");
     }
 }
diff --git a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs
index b5686b64c81..859bf7bd26d 100644
--- a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs
+++ b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs
@@ -11,7 +11,7 @@
 struct X { x: (), }
 
 impl Drop for X {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("destructor runs");
     }
 }
diff --git a/src/test/compile-fail/bind-by-move-no-lvalues-1.rs b/src/test/compile-fail/bind-by-move-no-lvalues-1.rs
index c8537afa190..3f96d568a55 100644
--- a/src/test/compile-fail/bind-by-move-no-lvalues-1.rs
+++ b/src/test/compile-fail/bind-by-move-no-lvalues-1.rs
@@ -13,7 +13,7 @@
 struct X { x: (), }
 
 impl Drop for X {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("destructor runs");
     }
 }
diff --git a/src/test/compile-fail/bind-by-move-no-lvalues-2.rs b/src/test/compile-fail/bind-by-move-no-lvalues-2.rs
index 26b1084c091..c17a444ce6e 100644
--- a/src/test/compile-fail/bind-by-move-no-lvalues-2.rs
+++ b/src/test/compile-fail/bind-by-move-no-lvalues-2.rs
@@ -13,7 +13,7 @@
 struct X { x: (), }
 
 impl Drop for X {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("destructor runs");
     }
 }
diff --git a/src/test/compile-fail/bind-by-move-no-sub-bindings.rs b/src/test/compile-fail/bind-by-move-no-sub-bindings.rs
index c86158be5ea..a1243dd01d9 100644
--- a/src/test/compile-fail/bind-by-move-no-sub-bindings.rs
+++ b/src/test/compile-fail/bind-by-move-no-sub-bindings.rs
@@ -11,7 +11,7 @@
 struct X { x: (), }
 
 impl Drop for X {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("destructor runs");
     }
 }
diff --git a/src/test/compile-fail/block-must-not-have-result-res.rs b/src/test/compile-fail/block-must-not-have-result-res.rs
index 8b8bb04c08b..c9b627f55f8 100644
--- a/src/test/compile-fail/block-must-not-have-result-res.rs
+++ b/src/test/compile-fail/block-must-not-have-result-res.rs
@@ -13,7 +13,7 @@
 struct r;
 
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         true
     }
 }
diff --git a/src/test/compile-fail/borrowck-borrowed-uniq-rvalue-2.rs b/src/test/compile-fail/borrowck-borrowed-uniq-rvalue-2.rs
index 1e5c4c5cc41..98099360f3c 100644
--- a/src/test/compile-fail/borrowck-borrowed-uniq-rvalue-2.rs
+++ b/src/test/compile-fail/borrowck-borrowed-uniq-rvalue-2.rs
@@ -14,7 +14,7 @@ struct defer<'self> {
 
 #[unsafe_destructor]
 impl<'self> Drop for defer<'self> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             error!("%?", self.x);
         }
diff --git a/src/test/compile-fail/copy-a-resource.rs b/src/test/compile-fail/copy-a-resource.rs
index 2767447d819..f709ddc0e0d 100644
--- a/src/test/compile-fail/copy-a-resource.rs
+++ b/src/test/compile-fail/copy-a-resource.rs
@@ -13,7 +13,7 @@ struct foo {
 }
 
 impl Drop for foo {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn foo(i:int) -> foo {
diff --git a/src/test/compile-fail/disallowed-deconstructing-destructing-struct-let.rs b/src/test/compile-fail/disallowed-deconstructing-destructing-struct-let.rs
index c363f172d2f..e550475d64f 100644
--- a/src/test/compile-fail/disallowed-deconstructing-destructing-struct-let.rs
+++ b/src/test/compile-fail/disallowed-deconstructing-destructing-struct-let.rs
@@ -14,7 +14,7 @@ struct X {
 }
 
 impl Drop for X {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("value: %s", self.x);
     }
 }
diff --git a/src/test/compile-fail/disallowed-deconstructing-destructing-struct-match.rs b/src/test/compile-fail/disallowed-deconstructing-destructing-struct-match.rs
index 478a56c0301..748114a4f12 100644
--- a/src/test/compile-fail/disallowed-deconstructing-destructing-struct-match.rs
+++ b/src/test/compile-fail/disallowed-deconstructing-destructing-struct-match.rs
@@ -13,7 +13,7 @@ struct X {
 }
 
 impl Drop for X {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("value: %s", self.x);
     }
 }
diff --git a/src/test/compile-fail/drop-on-non-struct.rs b/src/test/compile-fail/drop-on-non-struct.rs
index 5e422d26753..2eb58d49612 100644
--- a/src/test/compile-fail/drop-on-non-struct.rs
+++ b/src/test/compile-fail/drop-on-non-struct.rs
@@ -12,7 +12,7 @@ type Foo = @[u8];
 
 impl Drop for Foo {   //~ ERROR the Drop trait may only be implemented
 //~^ ERROR cannot provide an extension implementation
-    fn finalize(&self) {
+    fn drop(&self) {
         println("kaboom");
     }
 }
diff --git a/src/test/compile-fail/explicit-call-to-dtor.rs b/src/test/compile-fail/explicit-call-to-dtor.rs
index ce2942c3146..5ffc9ea08ed 100644
--- a/src/test/compile-fail/explicit-call-to-dtor.rs
+++ b/src/test/compile-fail/explicit-call-to-dtor.rs
@@ -13,12 +13,12 @@ struct Foo {
 }
 
 impl Drop for Foo {
-    fn finalize(&self) {
+    fn drop(&self) {
         println("kaboom");
     }
 }
 
 fn main() {
     let x = Foo { x: 3 };
-    x.finalize();   //~ ERROR explicit call to destructor
+    x.drop();   //~ ERROR explicit call to destructor
 }
diff --git a/src/test/compile-fail/explicit-call-to-supertrait-dtor.rs b/src/test/compile-fail/explicit-call-to-supertrait-dtor.rs
index 1a5eb696fa2..ace31183d76 100644
--- a/src/test/compile-fail/explicit-call-to-supertrait-dtor.rs
+++ b/src/test/compile-fail/explicit-call-to-supertrait-dtor.rs
@@ -17,14 +17,14 @@ trait Bar : Drop {
 }
 
 impl Drop for Foo {
-    fn finalize(&self) {
+    fn drop(&self) {
         println("kaboom");
     }
 }
 
 impl Bar for Foo {
     fn blah(&self) {
-        self.finalize();    //~ ERROR explicit call to destructor
+        self.drop();    //~ ERROR explicit call to destructor
     }
 }
 
diff --git a/src/test/compile-fail/issue-2548.rs b/src/test/compile-fail/issue-2548.rs
index 2f690008440..314f282355d 100644
--- a/src/test/compile-fail/issue-2548.rs
+++ b/src/test/compile-fail/issue-2548.rs
@@ -18,7 +18,7 @@ struct foo {
 
 #[unsafe_destructor]
 impl Drop for foo {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             println("Goodbye, World!");
             *self.x += 1;
diff --git a/src/test/compile-fail/issue-2823.rs b/src/test/compile-fail/issue-2823.rs
index b29b19b406f..7d1f64b9dd2 100644
--- a/src/test/compile-fail/issue-2823.rs
+++ b/src/test/compile-fail/issue-2823.rs
@@ -13,7 +13,7 @@ struct C {
 }
 
 impl Drop for C {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("dropping: %?", self.x);
     }
 }
diff --git a/src/test/compile-fail/issue-3214.rs b/src/test/compile-fail/issue-3214.rs
index 2dd58906ddb..8eb110e6ce9 100644
--- a/src/test/compile-fail/issue-3214.rs
+++ b/src/test/compile-fail/issue-3214.rs
@@ -15,7 +15,7 @@ fn foo<T>() {
     }
 
     impl<T> Drop for foo<T> {
-        fn finalize(&self) {}
+        fn drop(&self) {}
     }
 }
 fn main() { }
diff --git a/src/test/compile-fail/kindck-destructor-owned.rs b/src/test/compile-fail/kindck-destructor-owned.rs
index faad36a15d2..551b50c94f2 100644
--- a/src/test/compile-fail/kindck-destructor-owned.rs
+++ b/src/test/compile-fail/kindck-destructor-owned.rs
@@ -3,7 +3,7 @@ struct Foo {
 }
 
 impl Drop for Foo { //~ ERROR cannot implement a destructor on a struct that is not Owned
-    fn finalize(&self) {
+    fn drop(&self) {
         *self.f = 10;
     }
 }
diff --git a/src/test/compile-fail/no-send-res-ports.rs b/src/test/compile-fail/no-send-res-ports.rs
index 5e18a40a99c..1f5b600157f 100644
--- a/src/test/compile-fail/no-send-res-ports.rs
+++ b/src/test/compile-fail/no-send-res-ports.rs
@@ -20,7 +20,7 @@ fn main() {
 
     #[unsafe_destructor]
     impl Drop for foo {
-        fn finalize(&self) {}
+        fn drop(&self) {}
     }
 
     fn foo(x: Port<()>) -> foo {
diff --git a/src/test/compile-fail/noncopyable-class.rs b/src/test/compile-fail/noncopyable-class.rs
index 77e62497d07..aa7100f0aad 100644
--- a/src/test/compile-fail/noncopyable-class.rs
+++ b/src/test/compile-fail/noncopyable-class.rs
@@ -15,7 +15,7 @@ struct bar {
 }
 
 impl Drop for bar {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn bar(x:int) -> bar {
diff --git a/src/test/compile-fail/pinned-deep-copy.rs b/src/test/compile-fail/pinned-deep-copy.rs
index 17e23360a5b..2e48992e81e 100644
--- a/src/test/compile-fail/pinned-deep-copy.rs
+++ b/src/test/compile-fail/pinned-deep-copy.rs
@@ -14,7 +14,7 @@ struct r {
 
 #[unsafe_destructor]
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             *(self.i) = *(self.i) + 1;
         }
diff --git a/src/test/compile-fail/repeat-to-run-dtor-twice.rs b/src/test/compile-fail/repeat-to-run-dtor-twice.rs
index 0dd12822dfa..c997ce2a281 100644
--- a/src/test/compile-fail/repeat-to-run-dtor-twice.rs
+++ b/src/test/compile-fail/repeat-to-run-dtor-twice.rs
@@ -17,7 +17,7 @@ struct Foo {
 }
 
 impl Drop for Foo {
-    fn finalize(&self) {
+    fn drop(&self) {
         println("Goodbye!");
     }
 }
diff --git a/src/test/compile-fail/unique-object-noncopyable.rs b/src/test/compile-fail/unique-object-noncopyable.rs
index 3844dab726e..dacfd466040 100644
--- a/src/test/compile-fail/unique-object-noncopyable.rs
+++ b/src/test/compile-fail/unique-object-noncopyable.rs
@@ -17,7 +17,7 @@ struct Bar {
 }
 
 impl Drop for Bar {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 impl Foo for Bar {
diff --git a/src/test/compile-fail/unique-pinned-nocopy.rs b/src/test/compile-fail/unique-pinned-nocopy.rs
index a08f03d5628..1deb850741e 100644
--- a/src/test/compile-fail/unique-pinned-nocopy.rs
+++ b/src/test/compile-fail/unique-pinned-nocopy.rs
@@ -13,7 +13,7 @@ struct r {
 }
 
 impl Drop for r {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn main() {
diff --git a/src/test/compile-fail/unique-vec-res.rs b/src/test/compile-fail/unique-vec-res.rs
index 003e8ccf309..e231e5e5037 100644
--- a/src/test/compile-fail/unique-vec-res.rs
+++ b/src/test/compile-fail/unique-vec-res.rs
@@ -14,7 +14,7 @@ struct r {
 
 #[unsafe_destructor]
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             *(self.i) = *(self.i) + 1;
         }
diff --git a/src/test/compile-fail/use-after-move-self-based-on-type.rs b/src/test/compile-fail/use-after-move-self-based-on-type.rs
index 5b4d67fb0ce..0622c028c63 100644
--- a/src/test/compile-fail/use-after-move-self-based-on-type.rs
+++ b/src/test/compile-fail/use-after-move-self-based-on-type.rs
@@ -3,7 +3,7 @@ struct S {
 }
 
 impl Drop for S {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 impl S {
diff --git a/src/test/compile-fail/vec-res-add.rs b/src/test/compile-fail/vec-res-add.rs
index 938e8c41e79..d881750bd3c 100644
--- a/src/test/compile-fail/vec-res-add.rs
+++ b/src/test/compile-fail/vec-res-add.rs
@@ -17,7 +17,7 @@ struct r {
 fn r(i:int) -> r { r { i: i } }
 
 impl Drop for r {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn main() {
diff --git a/src/test/run-fail/issue-2061.rs b/src/test/run-fail/issue-2061.rs
index cee3546acfa..3e78fd1f7db 100644
--- a/src/test/run-fail/issue-2061.rs
+++ b/src/test/run-fail/issue-2061.rs
@@ -15,7 +15,7 @@ struct R {
 }
 
 impl Drop for R {
-    fn finalize(&self) {
+    fn drop(&self) {
         let _y = R { b: self.b };
     }
 }
diff --git a/src/test/run-fail/morestack2.rs b/src/test/run-fail/morestack2.rs
index d03433d5872..37bc3b6de8a 100644
--- a/src/test/run-fail/morestack2.rs
+++ b/src/test/run-fail/morestack2.rs
@@ -44,7 +44,7 @@ struct and_then_get_big_again {
 }
 
 impl Drop for and_then_get_big_again {
-    fn finalize(&self) {
+    fn drop(&self) {
         fn getbig(i: int) {
             if i != 0 {
                 getbig(i - 1);
diff --git a/src/test/run-fail/morestack3.rs b/src/test/run-fail/morestack3.rs
index d2e17d28561..4e059c5bd3c 100644
--- a/src/test/run-fail/morestack3.rs
+++ b/src/test/run-fail/morestack3.rs
@@ -30,7 +30,7 @@ struct and_then_get_big_again {
 }
 
 impl Drop for and_then_get_big_again {
-    fn finalize(&self) {
+    fn drop(&self) {
         fn getbig(i: int) {
             if i != 0 {
                 getbig(i - 1);
diff --git a/src/test/run-fail/morestack4.rs b/src/test/run-fail/morestack4.rs
index c4f7de49555..db46438ea3c 100644
--- a/src/test/run-fail/morestack4.rs
+++ b/src/test/run-fail/morestack4.rs
@@ -30,7 +30,7 @@ struct and_then_get_big_again {
 }
 
 impl Drop for and_then_get_big_again {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn and_then_get_big_again(x:int) -> and_then_get_big_again {
diff --git a/src/test/run-fail/rt-set-exit-status-fail2.rs b/src/test/run-fail/rt-set-exit-status-fail2.rs
index 3d0341d01f4..ee268f409a5 100644
--- a/src/test/run-fail/rt-set-exit-status-fail2.rs
+++ b/src/test/run-fail/rt-set-exit-status-fail2.rs
@@ -21,7 +21,7 @@ struct r {
 // failed has no effect and the process exits with the
 // runtime's exit code
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         os::set_exit_status(50);
     }
 }
diff --git a/src/test/run-fail/too-much-recursion-unwinding.rs b/src/test/run-fail/too-much-recursion-unwinding.rs
index 1c668dfc90d..16d0fe34668 100644
--- a/src/test/run-fail/too-much-recursion-unwinding.rs
+++ b/src/test/run-fail/too-much-recursion-unwinding.rs
@@ -24,7 +24,7 @@ struct r {
 }
 
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             if !*(self.recursed) {
                 *(self.recursed) = true;
diff --git a/src/test/run-fail/unwind-box-res.rs b/src/test/run-fail/unwind-box-res.rs
index a1e1ee433bb..7f022d5761c 100644
--- a/src/test/run-fail/unwind-box-res.rs
+++ b/src/test/run-fail/unwind-box-res.rs
@@ -21,7 +21,7 @@ struct r {
 }
 
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             let _v2: ~int = cast::transmute(self.v);
         }
diff --git a/src/test/run-fail/unwind-resource-fail.rs b/src/test/run-fail/unwind-resource-fail.rs
index 486c2dd3b36..b4b0150013a 100644
--- a/src/test/run-fail/unwind-resource-fail.rs
+++ b/src/test/run-fail/unwind-resource-fail.rs
@@ -15,7 +15,7 @@ struct r {
 }
 
 impl Drop for r {
-    fn finalize(&self) { fail!("squirrel") }
+    fn drop(&self) { fail!("squirrel") }
 }
 
 fn r(i: int) -> r { r { i: i } }
diff --git a/src/test/run-fail/unwind-resource-fail2.rs b/src/test/run-fail/unwind-resource-fail2.rs
index ca98a61f234..6ebb4a742c4 100644
--- a/src/test/run-fail/unwind-resource-fail2.rs
+++ b/src/test/run-fail/unwind-resource-fail2.rs
@@ -16,7 +16,7 @@ struct r {
 }
 
 impl Drop for r {
-    fn finalize(&self) { fail!("wombat") }
+    fn drop(&self) { fail!("wombat") }
 }
 
 fn r(i: int) -> r { r { i: i } }
diff --git a/src/test/run-fail/unwind-resource-fail3.rs b/src/test/run-fail/unwind-resource-fail3.rs
index 9d6f877293b..2de9d4cec77 100644
--- a/src/test/run-fail/unwind-resource-fail3.rs
+++ b/src/test/run-fail/unwind-resource-fail3.rs
@@ -19,7 +19,7 @@ fn faily_box(i: @int) -> faily_box { faily_box { i: i } }
 
 #[unsafe_destructor]
 impl Drop for faily_box {
-    fn finalize(&self) {
+    fn drop(&self) {
         fail!("quux");
     }
 }
diff --git a/src/test/run-pass/attr-no-drop-flag-size.rs b/src/test/run-pass/attr-no-drop-flag-size.rs
index e6f05970cce..00a7955d834 100644
--- a/src/test/run-pass/attr-no-drop-flag-size.rs
+++ b/src/test/run-pass/attr-no-drop-flag-size.rs
@@ -17,7 +17,7 @@ struct Test<T> {
 
 #[unsafe_destructor]
 impl<T> Drop for Test<T> {
-    fn finalize(&self) { }
+    fn drop(&self) { }
 }
 
 fn main() {
diff --git a/src/test/run-pass/borrowck-unary-move-2.rs b/src/test/run-pass/borrowck-unary-move-2.rs
index c74fd4a68e7..c52371de54a 100644
--- a/src/test/run-pass/borrowck-unary-move-2.rs
+++ b/src/test/run-pass/borrowck-unary-move-2.rs
@@ -13,7 +13,7 @@ struct noncopyable {
 }
 
 impl Drop for noncopyable {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("dropped");
     }
 }
diff --git a/src/test/run-pass/class-attributes-1.rs b/src/test/run-pass/class-attributes-1.rs
index b7ecb622e7f..108ae023e12 100644
--- a/src/test/run-pass/class-attributes-1.rs
+++ b/src/test/run-pass/class-attributes-1.rs
@@ -16,7 +16,7 @@ struct cat {
 
 impl Drop for cat {
     #[cat_dropper]
-    fn finalize(&self) { error!("%s landed on hir feet" , self . name); }
+    fn drop(&self) { error!("%s landed on hir feet" , self . name); }
 }
 
 
diff --git a/src/test/run-pass/class-attributes-2.rs b/src/test/run-pass/class-attributes-2.rs
index 8636699c482..02279677276 100644
--- a/src/test/run-pass/class-attributes-2.rs
+++ b/src/test/run-pass/class-attributes-2.rs
@@ -17,7 +17,7 @@ impl Drop for cat {
     /**
        Actually, cats don't always land on their feet when you drop them.
     */
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("%s landed on hir feet", self.name);
     }
 }
diff --git a/src/test/run-pass/class-dtor.rs b/src/test/run-pass/class-dtor.rs
index 229c683706d..c294670faa3 100644
--- a/src/test/run-pass/class-dtor.rs
+++ b/src/test/run-pass/class-dtor.rs
@@ -14,7 +14,7 @@ struct cat {
 }
 
 impl Drop for cat {
-    fn finalize(&self) {
+    fn drop(&self) {
         (self.done)(self.meows);
     }
 }
diff --git a/src/test/run-pass/drop-trait-generic.rs b/src/test/run-pass/drop-trait-generic.rs
index 894c387b036..557a153bce2 100644
--- a/src/test/run-pass/drop-trait-generic.rs
+++ b/src/test/run-pass/drop-trait-generic.rs
@@ -14,7 +14,7 @@ struct S<T> {
 
 #[unsafe_destructor]
 impl<T> ::std::ops::Drop for S<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         println("bye");
     }
 }
diff --git a/src/test/run-pass/drop-trait.rs b/src/test/run-pass/drop-trait.rs
index 258a0f88ab5..0ed5a27eb19 100644
--- a/src/test/run-pass/drop-trait.rs
+++ b/src/test/run-pass/drop-trait.rs
@@ -13,7 +13,7 @@ struct Foo {
 }
 
 impl Drop for Foo {
-    fn finalize(&self) {
+    fn drop(&self) {
         println("bye");
     }
 }
diff --git a/src/test/run-pass/init-res-into-things.rs b/src/test/run-pass/init-res-into-things.rs
index 5e10419da6e..cad6661bbce 100644
--- a/src/test/run-pass/init-res-into-things.rs
+++ b/src/test/run-pass/init-res-into-things.rs
@@ -19,7 +19,7 @@ struct Box { x: r }
 
 #[unsafe_destructor]
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             *(self.i) = *(self.i) + 1;
         }
diff --git a/src/test/run-pass/issue-2487-a.rs b/src/test/run-pass/issue-2487-a.rs
index 5e5fb70bcd4..0f9f1102aea 100644
--- a/src/test/run-pass/issue-2487-a.rs
+++ b/src/test/run-pass/issue-2487-a.rs
@@ -14,7 +14,7 @@ struct socket {
 }
 
 impl Drop for socket {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 impl socket {
diff --git a/src/test/run-pass/issue-2708.rs b/src/test/run-pass/issue-2708.rs
index 9e8438efad5..44ace16fb95 100644
--- a/src/test/run-pass/issue-2708.rs
+++ b/src/test/run-pass/issue-2708.rs
@@ -16,7 +16,7 @@ struct Font {
 }
 
 impl Drop for Font {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn Font() -> Font {
diff --git a/src/test/run-pass/issue-2718.rs b/src/test/run-pass/issue-2718.rs
index 014aebeff9d..9fbca7d0572 100644
--- a/src/test/run-pass/issue-2718.rs
+++ b/src/test/run-pass/issue-2718.rs
@@ -160,7 +160,7 @@ pub mod pipes {
 
     #[unsafe_destructor]
     impl<T:Owned> Drop for send_packet<T> {
-        fn finalize(&self) {
+        fn drop(&self) {
             unsafe {
                 if self.p != None {
                     let self_p: &mut Option<*packet<T>> =
@@ -190,7 +190,7 @@ pub mod pipes {
 
     #[unsafe_destructor]
     impl<T:Owned> Drop for recv_packet<T> {
-        fn finalize(&self) {
+        fn drop(&self) {
             unsafe {
                 if self.p != None {
                     let self_p: &mut Option<*packet<T>> =
diff --git a/src/test/run-pass/issue-2735-2.rs b/src/test/run-pass/issue-2735-2.rs
index ca584e1a6e3..b44d50921a5 100644
--- a/src/test/run-pass/issue-2735-2.rs
+++ b/src/test/run-pass/issue-2735-2.rs
@@ -15,7 +15,7 @@ struct defer {
 
 #[unsafe_destructor]
 impl Drop for defer {
-    fn finalize(&self) {
+    fn drop(&self) {
         *self.b = true;
     }
 }
diff --git a/src/test/run-pass/issue-2735-3.rs b/src/test/run-pass/issue-2735-3.rs
index 44ca5d6929b..902b2f69d61 100644
--- a/src/test/run-pass/issue-2735-3.rs
+++ b/src/test/run-pass/issue-2735-3.rs
@@ -15,7 +15,7 @@ struct defer {
 
 #[unsafe_destructor]
 impl Drop for defer {
-    fn finalize(&self) {
+    fn drop(&self) {
         *self.b = true;
     }
 }
diff --git a/src/test/run-pass/issue-2895.rs b/src/test/run-pass/issue-2895.rs
index e6b3f9f6f35..a80a079b695 100644
--- a/src/test/run-pass/issue-2895.rs
+++ b/src/test/run-pass/issue-2895.rs
@@ -19,7 +19,7 @@ struct Kitty {
 }
 
 impl Drop for Kitty {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 #[cfg(target_arch = "x86_64")]
diff --git a/src/test/run-pass/issue-3220.rs b/src/test/run-pass/issue-3220.rs
index 9cc5e591043..dce6d8f0bf1 100644
--- a/src/test/run-pass/issue-3220.rs
+++ b/src/test/run-pass/issue-3220.rs
@@ -11,7 +11,7 @@
 struct thing { x: int, }
 
 impl Drop for thing {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn thing() -> thing {
diff --git a/src/test/run-pass/issue-3563-3.rs b/src/test/run-pass/issue-3563-3.rs
index 012e70988ad..e574502a9fb 100644
--- a/src/test/run-pass/issue-3563-3.rs
+++ b/src/test/run-pass/issue-3563-3.rs
@@ -58,7 +58,7 @@ struct AsciiArt {
 }
 
 impl Drop for AsciiArt {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 // It's common to define a constructor sort of function to create struct instances.
diff --git a/src/test/run-pass/issue-4252.rs b/src/test/run-pass/issue-4252.rs
index f3b73c84714..de1f630a245 100644
--- a/src/test/run-pass/issue-4252.rs
+++ b/src/test/run-pass/issue-4252.rs
@@ -26,7 +26,7 @@ impl X for Y {
 }
 
 impl<T: X> Drop for Z<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         self.x.call(); // Adding this statement causes an ICE.
     }
 }
diff --git a/src/test/run-pass/issue-4735.rs b/src/test/run-pass/issue-4735.rs
index 057622d2251..3da90ba1edc 100644
--- a/src/test/run-pass/issue-4735.rs
+++ b/src/test/run-pass/issue-4735.rs
@@ -15,7 +15,7 @@ use std::libc::c_void;
 struct NonCopyable(*c_void);
 
 impl Drop for NonCopyable {
-    fn finalize(&self) {
+    fn drop(&self) {
         let p = **self;
         let v = unsafe { transmute::<*c_void, ~int>(p) };
     }
diff --git a/src/test/run-pass/issue-6341.rs b/src/test/run-pass/issue-6341.rs
index 394345556fc..29fc0744305 100644
--- a/src/test/run-pass/issue-6341.rs
+++ b/src/test/run-pass/issue-6341.rs
@@ -12,7 +12,7 @@
 struct A { x: uint }
 
 impl Drop for A {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn main() {}
\ No newline at end of file
diff --git a/src/test/run-pass/issue-6344-let.rs b/src/test/run-pass/issue-6344-let.rs
index 916131b6b71..bb0c71d6d55 100644
--- a/src/test/run-pass/issue-6344-let.rs
+++ b/src/test/run-pass/issue-6344-let.rs
@@ -11,7 +11,7 @@
 struct A { x: uint }
 
 impl Drop for A {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn main() {
diff --git a/src/test/run-pass/issue-6344-match.rs b/src/test/run-pass/issue-6344-match.rs
index 5bf57aa7116..7987f9689fa 100644
--- a/src/test/run-pass/issue-6344-match.rs
+++ b/src/test/run-pass/issue-6344-match.rs
@@ -10,7 +10,7 @@
 struct A { x: uint }
 
 impl Drop for A {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn main() {
diff --git a/src/test/run-pass/issue-979.rs b/src/test/run-pass/issue-979.rs
index 20bb8ea965b..34a9055ae83 100644
--- a/src/test/run-pass/issue-979.rs
+++ b/src/test/run-pass/issue-979.rs
@@ -14,7 +14,7 @@ struct r {
 
 #[unsafe_destructor]
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             *(self.b) += 1;
         }
diff --git a/src/test/run-pass/newtype-struct-drop-run.rs b/src/test/run-pass/newtype-struct-drop-run.rs
index dd5da3b09bb..b7fdfabff9a 100644
--- a/src/test/run-pass/newtype-struct-drop-run.rs
+++ b/src/test/run-pass/newtype-struct-drop-run.rs
@@ -14,7 +14,7 @@ struct Foo(@mut int);
 
 #[unsafe_destructor]
 impl Drop for Foo {
-    fn finalize(&self) {
+    fn drop(&self) {
         ***self = 23;
     }
 }
diff --git a/src/test/run-pass/newtype-struct-with-dtor.rs b/src/test/run-pass/newtype-struct-with-dtor.rs
index 0e36f27aa92..6062f3075e2 100644
--- a/src/test/run-pass/newtype-struct-with-dtor.rs
+++ b/src/test/run-pass/newtype-struct-with-dtor.rs
@@ -4,7 +4,7 @@ use std::libc;
 pub struct Fd(c_int);
 
 impl Drop for Fd {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             libc::close(**self);
         }
diff --git a/src/test/run-pass/option-unwrap.rs b/src/test/run-pass/option-unwrap.rs
index ea8a6f236cd..5c8cfd68240 100644
--- a/src/test/run-pass/option-unwrap.rs
+++ b/src/test/run-pass/option-unwrap.rs
@@ -15,7 +15,7 @@ struct dtor {
 
 #[unsafe_destructor]
 impl Drop for dtor {
-    fn finalize(&self) {
+    fn drop(&self) {
         // abuse access to shared mutable state to write this code
         unsafe {
             *self.x -= 1;
diff --git a/src/test/run-pass/pipe-presentation-examples.rs b/src/test/run-pass/pipe-presentation-examples.rs
index 54cf8ba9c0a..65e0537dfb7 100644
--- a/src/test/run-pass/pipe-presentation-examples.rs
+++ b/src/test/run-pass/pipe-presentation-examples.rs
@@ -85,7 +85,7 @@ pub struct Buffer {
 }
 
 impl Drop for Buffer {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 proto! double_buffer (
diff --git a/src/test/run-pass/resource-assign-is-not-copy.rs b/src/test/run-pass/resource-assign-is-not-copy.rs
index edd692196ec..112c6be560d 100644
--- a/src/test/run-pass/resource-assign-is-not-copy.rs
+++ b/src/test/run-pass/resource-assign-is-not-copy.rs
@@ -14,7 +14,7 @@ struct r {
 
 #[unsafe_destructor]
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             *(self.i) += 1;
         }
diff --git a/src/test/run-pass/resource-cycle.rs b/src/test/run-pass/resource-cycle.rs
index 3ce5ea66781..e48b841144a 100644
--- a/src/test/run-pass/resource-cycle.rs
+++ b/src/test/run-pass/resource-cycle.rs
@@ -17,7 +17,7 @@ struct r {
 }
 
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             debug!("r's dtor: self = %x, self.v = %x, self.v's value = %x",
               cast::transmute::<*r, uint>(self),
diff --git a/src/test/run-pass/resource-cycle2.rs b/src/test/run-pass/resource-cycle2.rs
index 0f031424ad4..1a82e321bd7 100644
--- a/src/test/run-pass/resource-cycle2.rs
+++ b/src/test/run-pass/resource-cycle2.rs
@@ -23,7 +23,7 @@ struct r {
 }
 
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             let v2: ~int = cast::transmute(self.v.c);
         }
diff --git a/src/test/run-pass/resource-cycle3.rs b/src/test/run-pass/resource-cycle3.rs
index f3ca932778a..1e0d8447aeb 100644
--- a/src/test/run-pass/resource-cycle3.rs
+++ b/src/test/run-pass/resource-cycle3.rs
@@ -27,7 +27,7 @@ struct R {
 }
 
 impl Drop for R {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             let _v2: ~int = cast::transmute(self.v.c);
             // let _v3: ~int = cast::transmute_copy(self.x);
diff --git a/src/test/run-pass/resource-destruct.rs b/src/test/run-pass/resource-destruct.rs
index c240c6708a4..7eac25535a8 100644
--- a/src/test/run-pass/resource-destruct.rs
+++ b/src/test/run-pass/resource-destruct.rs
@@ -14,7 +14,7 @@ struct shrinky_pointer {
 
 #[unsafe_destructor]
 impl Drop for shrinky_pointer {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             error!(~"Hello!"); **(self.i) -= 1;
         }
diff --git a/src/test/run-pass/resource-generic.rs b/src/test/run-pass/resource-generic.rs
index 7a18cd02c2d..75d978b0d05 100644
--- a/src/test/run-pass/resource-generic.rs
+++ b/src/test/run-pass/resource-generic.rs
@@ -18,7 +18,7 @@ struct finish<T> {
 
 #[unsafe_destructor]
 impl<T:Copy> Drop for finish<T> {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             (self.arg.fin)(copy self.arg.val);
         }
diff --git a/src/test/run-pass/resource-in-struct.rs b/src/test/run-pass/resource-in-struct.rs
index d74ec61d3c0..836b49f9a15 100644
--- a/src/test/run-pass/resource-in-struct.rs
+++ b/src/test/run-pass/resource-in-struct.rs
@@ -20,7 +20,7 @@ struct close_res {
 
 #[unsafe_destructor]
 impl Drop for close_res {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             *(self.i) = false;
         }
diff --git a/src/test/run-pass/send-resource.rs b/src/test/run-pass/send-resource.rs
index a2cee0082b5..e450e1f48c0 100644
--- a/src/test/run-pass/send-resource.rs
+++ b/src/test/run-pass/send-resource.rs
@@ -16,7 +16,7 @@ struct test {
 }
 
 impl Drop for test {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn test(f: int) -> test {
diff --git a/src/test/run-pass/struct-literal-dtor.rs b/src/test/run-pass/struct-literal-dtor.rs
index 9f5b8cf27dd..2fc6833242f 100644
--- a/src/test/run-pass/struct-literal-dtor.rs
+++ b/src/test/run-pass/struct-literal-dtor.rs
@@ -13,7 +13,7 @@ struct foo {
 }
 
 impl Drop for foo {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("%s", self.x);
     }
 }
diff --git a/src/test/run-pass/task-killjoin-rsrc.rs b/src/test/run-pass/task-killjoin-rsrc.rs
index 2025a5c304c..aa37f5e9ce9 100644
--- a/src/test/run-pass/task-killjoin-rsrc.rs
+++ b/src/test/run-pass/task-killjoin-rsrc.rs
@@ -24,7 +24,7 @@ struct notify {
 
 #[unsafe_destructor]
 impl Drop for notify {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             error!("notify: task=%? v=%x unwinding=%b b=%b",
                    task::get_task(),
diff --git a/src/test/run-pass/type-param-constraints.rs b/src/test/run-pass/type-param-constraints.rs
index bd6165806c2..416e7bf82bb 100644
--- a/src/test/run-pass/type-param-constraints.rs
+++ b/src/test/run-pass/type-param-constraints.rs
@@ -19,7 +19,7 @@ struct r {
 }
 
 impl Drop for r {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn r(i:int) -> r {
diff --git a/src/test/run-pass/unique-pinned-nocopy-2.rs b/src/test/run-pass/unique-pinned-nocopy-2.rs
index 197f26f897d..b0ad7f50420 100644
--- a/src/test/run-pass/unique-pinned-nocopy-2.rs
+++ b/src/test/run-pass/unique-pinned-nocopy-2.rs
@@ -14,7 +14,7 @@ struct r {
 
 #[unsafe_destructor]
 impl Drop for r {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             *(self.i) = *(self.i) + 1;
         }
diff --git a/src/test/run-pass/unit-like-struct-drop-run.rs b/src/test/run-pass/unit-like-struct-drop-run.rs
index b19a0aa1e98..41b971d64d0 100644
--- a/src/test/run-pass/unit-like-struct-drop-run.rs
+++ b/src/test/run-pass/unit-like-struct-drop-run.rs
@@ -16,7 +16,7 @@ use std::task;
 struct Foo;
 
 impl Drop for Foo {
-    fn finalize(&self) {
+    fn drop(&self) {
         fail!("This failure should happen.");
     }
 }
diff --git a/src/test/run-pass/unwind-resource.rs b/src/test/run-pass/unwind-resource.rs
index 4b71d79ccc4..450e81bee33 100644
--- a/src/test/run-pass/unwind-resource.rs
+++ b/src/test/run-pass/unwind-resource.rs
@@ -19,7 +19,7 @@ struct complainer {
 }
 
 impl Drop for complainer {
-    fn finalize(&self) {
+    fn drop(&self) {
         error!("About to send!");
         self.c.send(true);
         error!("Sent!");
diff --git a/src/test/run-pass/unwind-resource2.rs b/src/test/run-pass/unwind-resource2.rs
index b5a496eb206..841fb37d29d 100644
--- a/src/test/run-pass/unwind-resource2.rs
+++ b/src/test/run-pass/unwind-resource2.rs
@@ -19,7 +19,7 @@ struct complainer {
 
 #[unsafe_destructor]
 impl Drop for complainer {
-    fn finalize(&self) {}
+    fn drop(&self) {}
 }
 
 fn complainer(c: @int) -> complainer {
diff --git a/src/test/run-pass/vec-slice-drop.rs b/src/test/run-pass/vec-slice-drop.rs
index 695441daf28..54626e52d23 100644
--- a/src/test/run-pass/vec-slice-drop.rs
+++ b/src/test/run-pass/vec-slice-drop.rs
@@ -15,7 +15,7 @@ struct foo {
 
 #[unsafe_destructor]
 impl Drop for foo {
-    fn finalize(&self) {
+    fn drop(&self) {
         unsafe {
             *self.x += 1;
         }