blob: b1896fb0d6a6222b518b5a00bc7005caaf828c81 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#![no_std]
// ANDROID: Unconditionally use std to allow building as a 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),*),
}
}
)*
};
}
|