Enum ForeignItem

#[non_exhaustive]
pub enum ForeignItem

An item within an extern block.

Syntax tree enum

This type is a syntax tree enum.

Variants

Fn(ForeignItemFn)

A foreign function in an extern block.

Static(ForeignItemStatic)

A foreign static item in an extern block: static ext: u8.

Type(ForeignItemType)

A foreign type in an extern block: type void.

Macro(ForeignItemMacro)

A macro invocation within an extern block.

Verbatim(TokenStream)

Tokens in an extern block not interpreted by Syn.

Important: see [Compatibility notes][crate#verbatim-variants].

Trait Implementations

impl Clone for ForeignItem

fn clone(&self) -> Self

impl Parse for ForeignItem

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

impl ToTokens for ForeignItem

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

Auto Trait Implementations

impl !Send for ForeignItem

impl !Sync for ForeignItem

impl Freeze for ForeignItem

impl RefUnwindSafe for ForeignItem

impl Unpin for ForeignItem

impl UnsafeUnpin for ForeignItem

impl UnwindSafe for ForeignItem

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for ForeignItem

fn from(t: T) -> T

Returns the argument unchanged.

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

fn span(&self) -> Span

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

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

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

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

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

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