rusteval_derive/
lib.rs

1//! Procedural macros for the [rusteval](https://docs.rs/rusteval/0.1.0/rusteval/) crate.
2//! Don't use this crate directly.
3// TODO correct link
4
5#![feature(box_patterns)]
6#![warn(trivial_casts, rust_2018_idioms)]
7
8use proc_macro::TokenStream;
9
10mod derive;
11mod functions;
12
13#[proc_macro_derive(Interactive)]
14pub fn derive_interactive(input: TokenStream) -> TokenStream {
15    derive::derive_interactive(input)
16}
17
18#[proc_macro_derive(InteractiveRoot)]
19pub fn derive_interactive_root(input: TokenStream) -> TokenStream {
20    derive::derive_root(input)
21}
22
23#[proc_macro_derive(PartialDebug)]
24pub fn derive_partial_debug(input: TokenStream) -> TokenStream {
25    derive::derive_partial_debug(input)
26}
27
28#[allow(non_snake_case)]
29#[proc_macro_attribute]
30pub fn Methods(_attr: TokenStream, input: TokenStream) -> TokenStream {
31    functions::methods(input)
32}
33
34#[allow(non_snake_case)]
35#[proc_macro_attribute]
36pub fn Function(_attr: TokenStream, input: TokenStream) -> TokenStream {
37    functions::function(input)
38}