about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2013-05-07 11:41:27 -0400
committerNiko Matsakis <niko@alum.mit.edu>2013-05-07 11:41:27 -0400
commit11f7cb26c27c3eb3af3f7ef4f9cdb85327e6e030 (patch)
tree6e5727d8fd3529814c9a7d2ba64c2cdce7e9c91e /src/rt/rust_task.cpp
parent154f3b00e0617e379d005b3aa7f41e8f1bea7bd8 (diff)
downloadrust-11f7cb26c27c3eb3af3f7ef4f9cdb85327e6e030.tar.gz
rust-11f7cb26c27c3eb3af3f7ef4f9cdb85327e6e030.zip
When autoborrowing a fn in trans, adjust the type of the datum to be `&fn`.
Fixes #6141.
Diffstat (limited to 'src/rt/rust_task.cpp')
-rw-r--r--src/rt/rust_task.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index 23e70535768..266c0652c6e 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -76,15 +76,8 @@ rust_task::delete_this()
     assert(ref_count == 0); // ||
     //   (ref_count == 1 && this == sched->root_task));
 
-    if (borrow_list) {
-        // NOTE should free borrow_list from within rust code!
-        // If there is a pointer in there, it is a ~[BorrowRecord] pointer,
-        // which are currently allocated with LIBC malloc/free. But this is
-        // not really the right way to do this, we should be freeing this
-        // pointer from Rust code.
-        free(borrow_list);
-        borrow_list = NULL;
-    }
+    // The borrow list should be freed in the task annihilator
+    assert(!borrow_list);
 
     sched_loop->release_task(this);
 }