I’m having some trouble just returning ok from rust. The following fails with an Erlang error: :invalid_struct
:
mod atoms {
rustler::atoms! {
ok
}
}
#[rustler::nif]
pub fn backend_deallocate(array: ExAf) -> Atom {
let exaf_array = array.resource.value();
match exaf_array {
ExAfArray::U8(a) => drop(a),
ExAfArray::U16(a) => drop(a),
ExAfArray::U32(a) => drop(a),
ExAfArray::U64(a) => drop(a),
ExAfArray::S16(a) => drop(a),
ExAfArray::S32(a) => drop(a),
ExAfArray::S64(a) => drop(a),
ExAfArray::F16(a) => drop(a),
ExAfArray::F32(a) => drop(a),
ExAfArray::F64(a) => drop(a),
ExAfArray::C64(a) => drop(a),
ExAfArray::C128(a) => drop(a),
}
atoms::ok()
}
How can I return :ok
(or any other atom) from Rust?