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};

pub struct GetterField {
    pub field_name: Ident,
    pub field_type: Type,
    pub return_type: Type,
    pub receiver_mut: Option<Mut>,
    pub phantom_arg_type: Option<Type>,
    pub field_mode: FieldMode,
    pub receiver_mode: ReceiverMode,
}

#[derive(Clone, Eq, PartialEq)]
pub enum FieldMode {
    Reference,
    OptionRef,
    MRef,
    Str,
    Copy,
    Slice,
}

pub enum ReceiverMode {
    SelfReceiver,
    Type(Box<Type>),
}