1 #![no_std]
2 #![forbid(unsafe_code)]
3 
4 // ANDROID: Use std to allow building as a dylib.
5 #[cfg(android_dylib)]
6 extern crate std;
7 
8 #[macro_export]
9 macro_rules! impl_mirrored {
10     {
11     type Mirror = $tinyname:ident;
12     $(
13         $(#[$attr:meta])*
14         $v:vis fn $fname:ident ($seif:ident : $seifty:ty $(,$argname:ident : $argtype:ty)*) $(-> $ret:ty)? ;
15     )*
16     } => {
17         $(
18         $(#[$attr])*
19         #[inline(always)]
20         $v fn $fname($seif : $seifty, $($argname: $argtype),*) $(-> $ret)? {
21             match $seif {
22                 $tinyname::Inline(i) => i.$fname($($argname),*),
23                 $tinyname::Heap(h) => h.$fname($($argname),*),
24             }
25         }
26         )*
27     };
28 }
29 
30