1#![warn(missing_docs)]
4
5#[macro_use]
6extern crate quote;
7
8mod enums;
9mod flags;
10mod fmt;
11mod redact;
12mod redactable;
13mod sanitize;
14mod structs;
15
16use proc_macro::TokenStream;
17
18#[proc_macro_derive(Redact, attributes(redact))]
19pub fn derive_redact(item: TokenStream) -> TokenStream {
23 redact::derive(item)
24}
25
26#[proc_macro_derive(Redactable, attributes(redact))]
27pub fn derive_redactable(item: TokenStream) -> TokenStream {
33 redactable::derive(item)
34}
35
36#[doc(hidden)]
37#[proc_macro]
38pub fn __private_version(_: TokenStream) -> TokenStream {
40 format!("{:?}", env!("CARGO_PKG_VERSION")).parse().unwrap()
41}