externref_polyfill/lib.rs
1pub struct ExternRef {
2 pub value: i64,
3}
4
5extern "C" {
6 fn externref_drop(extern_ref: i64);
7}
8
9impl From<i64> for ExternRef {
10 fn from(value: i64) -> Self {
11 ExternRef { value }
12 }
13}
14
15impl Into<i64> for &ExternRef {
16 fn into(self) -> i64 {
17 self.value
18 }
19}
20
21impl Drop for ExternRef {
22 fn drop(&mut self) {
23 unsafe {
24 externref_drop(self.value);
25 }
26 }
27}