about summary refs log tree commit diff
path: root/src/rt/rust_builtin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt/rust_builtin.cpp')
-rw-r--r--src/rt/rust_builtin.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp
index 5566835d3cd..a232389812a 100644
--- a/src/rt/rust_builtin.cpp
+++ b/src/rt/rust_builtin.cpp
@@ -178,6 +178,15 @@ vec_from_vbuf(rust_task *task, type_desc *ty, void *vbuf, size_t n_elts)
                                vbuf);
 }
 
+extern "C" CDECL rust_vec*
+unsafe_vec_to_mut(rust_task *task, type_desc *ty, rust_vec *v)
+{
+    if (v->ref_count != CONST_REFCOUNT) {
+        v->ref();
+    }
+    return v;
+}
+
 extern "C" CDECL rust_str*
 str_alloc(rust_task *task, size_t n_bytes)
 {