facet_macros_emit/
lib.rs

1use facet_macros_parse::*;
2
3mod renamerule;
4pub use renamerule::*;
5
6mod generics;
7pub use generics::*;
8
9mod parsed;
10pub use parsed::*;
11
12mod process_enum;
13mod process_struct;
14
15mod derive;
16pub use derive::*;
17
18mod unescaping;
19
20#[cfg(feature = "function")]
21pub mod function;
22
23#[derive(Clone)]
24pub struct LifetimeName(pub facet_macros_parse::Ident);
25
26impl quote::ToTokens for LifetimeName {
27    fn to_tokens(&self, tokens: &mut TokenStream) {
28        let punct = facet_macros_parse::TokenTree::Punct(facet_macros_parse::Punct::new(
29            '\'',
30            facet_macros_parse::Spacing::Joint,
31        ));
32        let name = &self.0;
33        tokens.extend(quote::quote! {
34            #punct #name
35        });
36    }
37}