Struct DeriveInput

pub struct DeriveInput { pub attrs: Vec<Attribute>, pub vis: Visibility, pub ident: Ident, pub generics: Generics, pub data: Data }

Data structure sent to a proc_macro_derive macro.

Fields

attrs: Vec<Attribute>
vis: Visibility
ident: Ident
generics: Generics
data: Data

Trait Implementations

impl Clone for DeriveInput

fn clone(&self) -> Self

impl From<ItemEnum> for DeriveInput

fn from(input: ItemEnum) -> DeriveInput

impl From<ItemStruct> for DeriveInput

fn from(input: ItemStruct) -> DeriveInput

impl From<ItemUnion> for DeriveInput

fn from(input: ItemUnion) -> DeriveInput

impl Parse for DeriveInput

fn parse(input: ParseStream<'_>) -> Result<Self>

impl ToTokens for DeriveInput

fn to_tokens(&self, tokens: &mut TokenStream)

Auto Trait Implementations

impl !Send for DeriveInput

impl !Sync for DeriveInput

impl Freeze for DeriveInput

impl RefUnwindSafe for DeriveInput

impl Unpin for DeriveInput

impl UnsafeUnpin for DeriveInput

impl UnwindSafe for DeriveInput

Blanket Implementations

impl<T> Any for DeriveInput where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for DeriveInput where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for DeriveInput where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for DeriveInput where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for DeriveInput

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Spanned for DeriveInput where T: Spanned + ?Sized,

fn span(&self) -> Span

impl<T> ToOwned for DeriveInput where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for DeriveInput where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for DeriveInput where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for DeriveInput where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>