cgp-macro-lib 0.7.0

Context-generic programming core component macros implemented as a library.
Documentation
use syn::token::Mut;
use syn::{Ident, Type, TypeParamBound, WherePredicate};

use crate::cgp_fn::UseTypeSpec;
use crate::cgp_impl::UseProviderSpec;
use crate::derive_getter::FieldMode;
use crate::parse::SimpleType;

#[derive(Clone, Eq, PartialEq)]
pub struct ImplicitArgField {
    pub field_name: Ident,
    pub field_type: Type,
    pub field_mut: Option<Mut>,
    pub field_mode: FieldMode,
    pub arg_type: Type,
}

#[derive(Default)]
pub struct FunctionAttributes {
    pub extend: Vec<TypeParamBound>,
    pub extend_where: Vec<WherePredicate>,
    pub uses: Vec<SimpleType>,
    pub use_type: Vec<UseTypeSpec>,
    pub use_provider: Vec<UseProviderSpec>,
}