blob: 988bd06a09cb58bcd711cd3be63b0678217d461b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
use proc_macro2::{Ident, TokenStream};
use quote::quote;
use syn::DataStruct;
use super::generate_fields;
pub fn generate(name: &Ident, ty: DataStruct) -> TokenStream {
let fields = generate_fields(ty.fields);
quote! {
impl generate_random::GenerateRandom for #name {
fn generate_random<R: rand::Rng + ?Sized>(rng: &mut R) -> Self {
Self #fields
}
}
}
}
|