Struct TypeImplTrait

pub struct TypeImplTrait { pub attrs: Vec<Attribute>, pub impl_token: Impl, pub bounds: Punctuated<TypeParamBound, Plus> }

An impl Bound1 + Bound2 + Bound3 type where Bound is a trait or a lifetime.

Fields

attrs: Vec<Attribute>
impl_token: Impl
bounds: Punctuated<TypeParamBound, Plus>

Implementations

impl TypeImplTrait

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

Trait Implementations

impl Clone for TypeImplTrait

fn clone(&self) -> Self

impl Parse for TypeImplTrait

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

impl ToTokens for TypeImplTrait

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

Auto Trait Implementations

impl !Send for TypeImplTrait

impl !Sync for TypeImplTrait

impl Freeze for TypeImplTrait

impl RefUnwindSafe for TypeImplTrait

impl Unpin for TypeImplTrait

impl UnsafeUnpin for TypeImplTrait

impl UnwindSafe for TypeImplTrait

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for TypeImplTrait

fn from(t: T) -> T

Returns the argument unchanged.

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

fn span(&self) -> Span

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

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

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

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

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

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