From 645d3f8d22136d58d65f034fc15ea748d751eb96 Mon Sep 17 00:00:00 2001 From: Alexander van Ratingen <470642+alvra@users.noreply.github.com> Date: Thu, 21 Apr 2022 22:16:02 +0200 Subject: Initial commit --- derive-macro/src/handle_struct.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 derive-macro/src/handle_struct.rs (limited to 'derive-macro/src/handle_struct.rs') diff --git a/derive-macro/src/handle_struct.rs b/derive-macro/src/handle_struct.rs new file mode 100644 index 0000000..988bd06 --- /dev/null +++ b/derive-macro/src/handle_struct.rs @@ -0,0 +1,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(rng: &mut R) -> Self { + Self #fields + } + } + } +} -- cgit v1.2.3