blob: 59c7e34f6a88c4c70d893c97b8173d82e4f66fbe [file] [log] [blame]
#![no_std]
#![forbid(unsafe_code)]
// ANDROID: Use std to allow building as a dylib.
#[cfg(android_dylib)]
extern crate std;
#[macro_export]
macro_rules! impl_mirrored {
{
type Mirror = $tinyname:ident;
$(
$(#[$attr:meta])*
$v:vis fn $fname:ident ($seif:ident : $seifty:ty $(,$argname:ident : $argtype:ty)*) $(-> $ret:ty)? ;
)*
} => {
$(
$(#[$attr])*
#[inline(always)]
$v fn $fname($seif : $seifty, $($argname: $argtype),*) $(-> $ret)? {
match $seif {
$tinyname::Inline(i) => i.$fname($($argname),*),
$tinyname::Heap(h) => h.$fname($($argname),*),
}
}
)*
};
}