[][src]Struct devise::DeriveGenerator

pub struct DeriveGenerator {
    pub input: DeriveInput,
    pub trait_impl: ItemImpl,
    pub trait_path: Path,
    // some fields omitted
}

Fields

input: DeriveInputtrait_impl: ItemImpltrait_path: Path

Methods

impl DeriveGenerator[src]

pub fn build_for(input: TokenStream, trait_impl: TokenStream) -> DeriveGenerator[src]

pub fn generic_support(
    &mut self,
    support: GenericSupport
) -> &mut DeriveGenerator
[src]

pub fn data_support(&mut self, support: DataSupport) -> &mut DeriveGenerator[src]

pub fn map_type_generic<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, &Ident, &TypeParam) -> TokenStream
[src]

pub fn replace_generic(
    &mut self,
    trait_gen: usize,
    impl_gen: usize
) -> &mut DeriveGenerator
[src]

pub fn validate_enum<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Derived<DataEnum>) -> Result<(), Diagnostic>, 
[src]

pub fn validate_struct<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Derived<DataStruct>) -> Result<(), Diagnostic>, 
[src]

pub fn validate_generics<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, &Generics) -> Result<(), Diagnostic>, 
[src]

pub fn validate_fields<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Fields) -> Result<(), Diagnostic>, 
[src]

pub fn function<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, TokenStream) -> TokenStream
[src]

pub fn map_struct<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Derived<DataStruct>) -> TokenStream
[src]

pub fn try_map_struct<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Derived<DataStruct>) -> Result<TokenStream, Diagnostic>, 
[src]

pub fn struct_mapper(
    &self
) -> &Box<dyn Fn(&DeriveGenerator, Derived<DataStruct>) + 'static>
[src]

pub fn map_enum<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Derived<DataEnum>) -> TokenStream
[src]

pub fn try_map_enum<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Derived<DataEnum>) -> Result<TokenStream, Diagnostic>, 
[src]

pub fn enum_mapper(
    &self
) -> &Box<dyn Fn(&DeriveGenerator, Derived<DataEnum>) + 'static>
[src]

pub fn map_variant<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Derived<Variant>) -> TokenStream
[src]

pub fn try_map_variant<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Derived<Variant>) -> Result<TokenStream, Diagnostic>, 
[src]

pub fn variant_mapper(
    &self
) -> &Box<dyn Fn(&DeriveGenerator, Derived<Variant>) + 'static>
[src]

pub fn map_fields<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Fields) -> TokenStream
[src]

pub fn try_map_fields<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Fields) -> Result<TokenStream, Diagnostic>, 
[src]

pub fn fields_mapper(&self) -> &Box<dyn Fn(&DeriveGenerator, Fields) + 'static>[src]

pub fn map_field<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Field) -> TokenStream
[src]

pub fn try_map_field<F>(&mut self, f: F) -> &mut DeriveGenerator where
    F: 'static + Fn(&DeriveGenerator, Field) -> Result<TokenStream, Diagnostic>, 
[src]

pub fn field_mapper(&self) -> &Box<dyn Fn(&DeriveGenerator, Field) + 'static>[src]

pub fn debug(&mut self) -> &mut DeriveGenerator[src]

pub fn to_tokens(&mut self) -> TokenStream[src]

Auto Trait Implementations

impl !RefUnwindSafe for DeriveGenerator

impl !Send for DeriveGenerator

impl !Sync for DeriveGenerator

impl Unpin for DeriveGenerator

impl !UnwindSafe for DeriveGenerator

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.