1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
use crate::codegen_runtime::{NifReturnable, NifReturned};
use crate::error::Error;
use crate::{Env, Term};
pub enum Return<'a> {
Term(Term<'a>),
Error(Error),
}
unsafe impl<'b> NifReturnable for Return<'b> {
unsafe fn into_returned(self, env: Env) -> NifReturned {
match self {
Return::Term(inner) => NifReturned::Term(inner.as_c_arg()),
Return::Error(inner) => inner.into_returned(env),
}
}
}