Struct ItemFn

pub struct ItemFn { pub attrs: Vec<Attribute>, pub vis: Visibility, pub modifiers: FnModifiers, pub sig: Signature, pub block: Box<Block> }

A free-standing function: fn process(n: usize) -> Result<()> { ... }.

Fields

attrs: Vec<Attribute>
vis: Visibility
modifiers: FnModifiers

(Non-exhaustive) Additional optional information about a function.

sig: Signature
block: Box<Block>

Trait Implementations

impl Clone for ItemFn

fn clone(&self) -> Self

impl Parse for ItemFn

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

impl ToTokens for ItemFn

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

Auto Trait Implementations

impl !Send for ItemFn

impl !Sync for ItemFn

impl Freeze for ItemFn

impl RefUnwindSafe for ItemFn

impl Unpin for ItemFn

impl UnsafeUnpin for ItemFn

impl UnwindSafe for ItemFn

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for ItemFn

fn from(t: T) -> T

Returns the argument unchanged.

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

fn span(&self) -> Span

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

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

impl<T, U> Into<U> for ItemFn 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 ItemFn where U: Into<T>,

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

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

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