facet_derive_emit/
lib.rs

1use facet_derive_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
18#[cfg(feature = "function")]
19pub mod function;
20
21#[derive(Clone)]
22pub struct LifetimeName(pub facet_derive_parse::Ident);
23
24impl quote::ToTokens for LifetimeName {
25    fn to_tokens(&self, tokens: &mut TokenStream) {
26        let punct = facet_derive_parse::TokenTree::Punct(facet_derive_parse::Punct::new(
27            '\'',
28            facet_derive_parse::Spacing::Joint,
29        ));
30        let name = &self.0;
31        tokens.extend(quote::quote! {
32            #punct #name
33        });
34    }
35}