Struct TypeReference

pub struct TypeReference { pub attrs: Vec<Attribute>, pub and_token: And, pub lifetime: Option<Lifetime>, pub mutability: Option<Mut>, pub elem: Box<Type> }

A reference type: &'a T or &'a mut T.

Fields

attrs: Vec<Attribute>
and_token: And
lifetime: Option<Lifetime>
mutability: Option<Mut>
elem: Box<Type>

Trait Implementations

impl Clone for TypeReference

fn clone(&self) -> Self

impl Parse for TypeReference

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

impl ToTokens for TypeReference

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

Auto Trait Implementations

impl !Send for TypeReference

impl !Sync for TypeReference

impl Freeze for TypeReference

impl RefUnwindSafe for TypeReference

impl Unpin for TypeReference

impl UnsafeUnpin for TypeReference

impl UnwindSafe for TypeReference

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for TypeReference

fn from(t: T) -> T

Returns the argument unchanged.

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

fn span(&self) -> Span

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

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

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

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

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

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