1#[macro_export]
5macro_rules! wrap {
6 ($type:path, $inner:path) => {
7 #[doc(hidden)]
8 impl AsRef<$inner> for $type {
9 fn as_ref(&self) -> &$inner {
10 &self.0
11 }
12 }
13
14 #[doc(hidden)]
15 impl From<$inner> for $type {
16 fn from(inner: $inner) -> $type {
17 $type(inner)
18 }
19 }
20 };
21 ($lifetime:tt, $type:path, $inner:path) => {
22 #[doc(hidden)]
23 impl<$lifetime> AsRef<$inner> for $type {
24 fn as_ref(&self) -> &$inner {
25 &self.0
26 }
27 }
28
29 #[doc(hidden)]
30 impl<$lifetime> From<$inner> for $type {
31 fn from(inner: $inner) -> $type {
32 $type(inner)
33 }
34 }
35 };
36}