warcrwlock 3.0.1

A crate in Rust that provides an attribute macro for structs and traits. Rewrite code using under the hood asynchronous reference (Arc) and asynchronous writing and read(RWlock) control elements.
Documentation
use proc_macro2::TokenStream;
use quote::quote;
use syn::ItemTrait;
use util::{has_mutation, ref_abstract_module};
use crate::helpers::traits::util::mut_abstract_module;

mod util;

pub fn expansion(item_trait : ItemTrait) -> TokenStream {
    let has_mutation = has_mutation(&item_trait);
    let abstract_module = if !has_mutation {ref_abstract_module(&item_trait)}
     else{mut_abstract_module(&item_trait)};
    let reply = quote!{
        #item_trait
        #abstract_module
    };
    reply
}