]> git.lizzy.rs Git - generate-random.git/blob - derive-macro/src/handle_struct.rs
Initial commit
[generate-random.git] / derive-macro / src / handle_struct.rs
1 use proc_macro2::{Ident, TokenStream};
2 use quote::quote;
3 use syn::DataStruct;
4 use super::generate_fields;
5
6 pub fn generate(name: &Ident, ty: DataStruct) -> TokenStream {
7     let fields = generate_fields(ty.fields);
8     quote! {
9         impl generate_random::GenerateRandom for #name {
10             fn generate_random<R: rand::Rng + ?Sized>(rng: &mut R) -> Self {
11                 Self #fields
12             }
13         }
14     }
15 }