Struct QSelf

pub struct QSelf { pub lt_token: Lt, pub ty: Box<Type>, pub position: usize, pub as_token: Option<As>, pub gt_token: Gt }

The explicit Self type in a qualified path: the T in <T as Display>::fmt.

The actual path, including the trait and the associated item, is stored separately. The position field represents the index of the associated item qualified with this Self type.

<Vec<T> as a::b::Trait>::AssociatedItem
 ^~~~~~    ~~~~~~~~~~~~~~^
 ty        position = 3

<Vec<T>>::AssociatedItem
 ^~~~~~   ^
 ty       position = 0

Fields

lt_token: Lt
ty: Box<Type>
position: usize
as_token: Option<As>
gt_token: Gt

Trait Implementations

impl Clone for QSelf

fn clone(&self) -> Self

impl Spanned for QSelf

fn span(&self) -> Span

Auto Trait Implementations

impl !Send for QSelf

impl !Sync for QSelf

impl Freeze for QSelf

impl RefUnwindSafe for QSelf

impl Unpin for QSelf

impl UnsafeUnpin for QSelf

impl UnwindSafe for QSelf

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for QSelf

fn from(t: T) -> T

Returns the argument unchanged.

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

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

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

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

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

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