79 lines
2.3 KiB
Rust
79 lines
2.3 KiB
Rust
struct Katniss;
|
|
struct Chiko;
|
|
struct Lola;
|
|
|
|
struct Cat;
|
|
struct Dog;
|
|
|
|
struct Jacob;
|
|
|
|
macro_rules! relate {
|
|
($in: ty, $out: ty, $forward: ty, $backward: ty) => {
|
|
todo!();
|
|
};
|
|
}
|
|
|
|
relate!(Jacob, Katniss, Loves, IsLovedBy);
|
|
|
|
|
|
// relate_many!(Cat, (Katniss, Chiko), HasMembers, Species);
|
|
// relate_many!(Dog, (Lola,), HasMembers, Species);
|
|
|
|
|
|
// relate!();
|
|
|
|
// relate_bidirectional!();
|
|
|
|
// relate_many_bidirectional!();
|
|
|
|
// relate_many!(Lola, (Katniss, Chiko), );
|
|
|
|
|
|
fn main() {
|
|
|
|
}
|
|
|
|
|
|
#[rustfmt::skip]
|
|
macro_rules! all_the_tuples {
|
|
($name:ident) => {
|
|
$name!([], T1);
|
|
$name!([T1], T2);
|
|
$name!([T1, T2], T3);
|
|
$name!([T1, T2, T3], T4);
|
|
$name!([T1, T2, T3, T4], T5);
|
|
$name!([T1, T2, T3, T4, T5], T6);
|
|
$name!([T1, T2, T3, T4, T5, T6], T7);
|
|
$name!([T1, T2, T3, T4, T5, T6, T7], T8);
|
|
$name!([T1, T2, T3, T4, T5, T6, T7, T8], T9);
|
|
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9], T10);
|
|
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T11);
|
|
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11], T12);
|
|
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12], T13);
|
|
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13], T14);
|
|
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14], T15);
|
|
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15], T16);
|
|
};
|
|
}
|
|
|
|
macro_rules! all_the_tuples_no_last_special_case {
|
|
($name:ident) => {
|
|
$name!(T1);
|
|
$name!(T1, T2);
|
|
$name!(T1, T2, T3);
|
|
$name!(T1, T2, T3, T4);
|
|
$name!(T1, T2, T3, T4, T5);
|
|
$name!(T1, T2, T3, T4, T5, T6);
|
|
$name!(T1, T2, T3, T4, T5, T6, T7);
|
|
$name!(T1, T2, T3, T4, T5, T6, T7, T8);
|
|
$name!(T1, T2, T3, T4, T5, T6, T7, T8, T9);
|
|
$name!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10);
|
|
$name!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11);
|
|
$name!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12);
|
|
$name!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13);
|
|
$name!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14);
|
|
$name!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15);
|
|
$name!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16);
|
|
};
|
|
}
|