Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern crate syn;
- #[macro_use] extern crate quote;
- extern crate proc_macro2;
- use proc_macro2::Span;
- fn main() {
- let name = syn::Ident::new("Point", Span::call_site());
- let fields: Vec<_> = vec!["x", "y"]
- .into_iter()
- .map(|s| syn::Ident::new(s, Span::call_site()))
- .collect();
- let values = vec![syn::Ident::new("self.foo", Span::call_site()),
- syn::Ident::new("self.bar", Span::call_site())];
- let tok = quote! {
- #name {
- #( #fields: #values ),*
- }
- };
- println!("{}", tok)
- }
Add Comment
Please, Sign In to add comment