Test Box returned from C++ to Rust
diff --git a/tests/test.rs b/tests/test.rs
index 28e5c3b..eb06481 100644
--- a/tests/test.rs
+++ b/tests/test.rs
@@ -25,6 +25,7 @@
assert_eq!(2020, ffi::c_return_primitive());
assert_eq!(2020, ffi::c_return_shared().z);
+ assert_eq!(2020, *ffi::c_return_box());
ffi::c_return_unique_ptr();
assert_eq!(2020, *ffi::c_return_ref(&shared));
assert_eq!("2020", ffi::c_return_str(&shared));
@@ -45,7 +46,7 @@
check!(ffi::c_take_primitive(2020));
check!(ffi::c_take_shared(ffi::Shared { z: 2020 }));
- check!(ffi::c_take_box(Box::new(())));
+ check!(ffi::c_take_box(Box::new(2020)));
check!(ffi::c_take_ref_c(unique_ptr.as_ref().unwrap()));
check!(ffi::c_take_unique_ptr(unique_ptr));
check!(ffi::c_take_str("2020"));
@@ -69,3 +70,8 @@
}
check!(cxx_run_test());
}
+
+#[no_mangle]
+extern "C" fn cxx_test_suite_get_box() -> *mut cxx_test_suite::R {
+ Box::into_raw(Box::new(2020usize))
+}