displaythis_impl/
lib.rs

1#![allow(clippy::blocks_in_if_conditions, clippy::range_plus_one)]
2
3extern crate proc_macro;
4
5mod ast;
6mod attr;
7mod expand;
8mod fmt;
9mod prop;
10mod valid;
11
12use proc_macro::TokenStream;
13use syn::{parse_macro_input, DeriveInput};
14
15#[proc_macro_derive(Display, attributes(display))]
16pub fn derive_display(input: TokenStream) -> TokenStream {
17    let input = parse_macro_input!(input as DeriveInput);
18    expand::derive(&input)
19        .unwrap_or_else(|err| err.to_compile_error())
20        .into()
21}