#![allow(unused)]
use macro_rules_attribute::derive;
use mini_macro_magic::{emit, export};
#[derive(export!)]
#[custom(export(a$))]
struct A;
mod b {
use super::derive;
use super::*;
#[derive(export!)]
#[custom(export(pub b$))]
pub struct B;
}
#[derive(export!)]
#[custom(export(pub(crate) c$))]
struct C;
#[derive(export!)]
#[custom(export(pub(self) d$))]
struct D;
#[derive(export!)]
#[custom(export(pub crate e$))]
struct E;
export!(
#[export(f$)]
{
struct F;
}
);
f!(emit!());
export!(
#[export(pub(crate) g$)]
{
struct G;
}
);
g!(emit!());
export!(
#[export(pub(self) h$)]
{
struct H;
}
);
h!(emit!());
export!(
#[export(pub crate i$)]
{
struct I;
}
);
i!(emit!());
mod j {
use super::*;
export!(
#[export(pub j$)]
{
struct J;
}
);
}
j::j!(emit!());
type _All = (A, b::B, C, D, E, F, G, H, I, J);