1#![cfg_attr(doc, doc = include_str!("../README.md"))]
11
12#![expect(
13 missing_copy_implementations,
14 missing_debug_implementations,
15 reason = "The four uninhabited Speed types are what trigger these lints",
16)]
17
18#![no_std]
19
20#[cfg(feature = "std")]
21extern crate std;
22
23#[cfg(feature = "alloc")]
24extern crate alloc;
25
26
27mod speed;
28
29mod deep;
30mod mirrored;
31
32
33pub use self::{
34 deep::DeepClone,
35 mirrored::MirroredClone,
36};
37pub use self::speed::{Fast, FastSpeed, MaybeSlow, Speed};
38
39
40macro_rules! call_varargs_macro {
41 ($macro:ident) => {
42 $macro!(T1);
43 $macro!(T1, T2);
44 $macro!(T1, T2, T3);
45 $macro!(T1, T2, T3, T4);
46 $macro!(T1, T2, T3, T4, T5);
47 $macro!(T1, T2, T3, T4, T5, T6);
48 $macro!(T1, T2, T3, T4, T5, T6, T7);
49 $macro!(T1, T2, T3, T4, T5, T6, T7, T8);
50 $macro!(T1, T2, T3, T4, T5, T6, T7, T8, T9);
51 $macro!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10);
52 $macro!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11);
53 $macro!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12);
54 };
55}
56
57pub(crate) use call_varargs_macro;