diff options
Diffstat (limited to 'src/rt/rust_task.cpp')
| -rw-r--r-- | src/rt/rust_task.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index 2331cccd590..5299de0ed34 100644 --- a/src/rt/rust_task.cpp +++ b/src/rt/rust_task.cpp @@ -7,7 +7,6 @@ #include "rust_task.h" #include "rust_cc.h" -#include "rust_upcall.h" #include "rust_env.h" #include "rust_port.h" @@ -130,6 +129,8 @@ cleanup_task(cleanup_args *args) { } } +extern "C" CDECL void upcall_exchange_free(void *ptr); + // This runs on the Rust stack void task_start_wrapper(spawn_args *a) { @@ -161,7 +162,7 @@ void task_start_wrapper(spawn_args *a) // free the environment (which should be a unique closure). const type_desc *td = env->td; td->drop_glue(NULL, NULL, td->first_param, box_body(env)); - upcall_shared_free(env); + upcall_exchange_free(env); } // The cleanup work needs lots of stack |
