impl_opaque/lib.rs
1#![no_std]
2#![doc = include_str!("../README.md")]
3
4pub use impl_opaque_macro::opaque;
5
6#[doc(hidden)]
7pub mod __private {
8 #[derive(Clone, Copy)]
9 pub struct Opaque;
10
11 #[macro_export]
12 #[doc(hidden)]
13 macro_rules! field {
14 ($vis:vis $name:ident : $ty:ty = $expr:expr) => {
15 $crate::field!()
16 };
17
18 () => {
19 compile_error!("cannot use field macro outside of impl block")
20 };
21 }
22}