1#![warn(
4 clippy::all,
5 clippy::cargo,
6 clippy::missing_docs_in_private_items,
7 clippy::nursery,
8 clippy::pedantic,
9 clippy::restriction
10)]
11#![allow(
12 clippy::blanket_clippy_restriction_lints,
13 clippy::implicit_return,
14 clippy::module_name_repetitions,
15 clippy::panic,
16 clippy::expect_used,
17 clippy::wildcard_enum_match_arm
18)]
19
20extern crate proc_macro;
21extern crate proc_macro2;
22
23mod file;
24mod input;
25mod output;
26mod save;
27
28use crate::proc_macro::TokenStream;
29
30#[proc_macro_derive(Input)]
32#[inline]
33#[must_use]
34pub fn input_derive(input: TokenStream) -> TokenStream {
35 input::input_derive_impl(input)
36}
37
38#[proc_macro_derive(File)]
40#[inline]
41#[must_use]
42pub fn file_derive(input: TokenStream) -> TokenStream {
43 file::file_derive_impl(input)
44}
45
46#[proc_macro_derive(Output)]
48#[inline]
49#[must_use]
50pub fn output_derive(input: TokenStream) -> TokenStream {
51 output::output_derive_impl(input)
52}
53
54#[proc_macro_derive(Save)]
56#[inline]
57#[must_use]
58pub fn save_derive(input: TokenStream) -> TokenStream {
59 save::save_derive_impl(input)
60}