1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use core::convert::TryInto;
use crate::{
api::{ErrorApiImpl, ManagedTypeApi},
err_msg,
};
pub(crate) fn cast_to_i64<M, T>(value: T) -> i64
where
M: ManagedTypeApi,
T: TryInto<i64>,
{
value
.try_into()
.unwrap_or_else(|_| M::error_api_impl().signal_error(err_msg::CAST_TO_I64_ERROR))
}