use darling::FromDeriveInput;
use proc_macro::TokenStream;
use quote::ToTokens;
use rand_gen::RandGenReceiver;
use syn::parse;
#[macro_use]
extern crate darling;
#[macro_use]
extern crate quote;
extern crate syn;
mod rand_gen;
#[proc_macro_derive(RandGen, attributes(rand_gen))]
pub fn rand_gen(stream: TokenStream) -> TokenStream {
let input = parse(stream).unwrap();
RandGenReceiver::from_derive_input(&input)
.unwrap()
.into_token_stream()
.into()
}