[][src]Struct syntax::ast::QSelf

pub struct QSelf {
    pub ty: P<Ty>,
    pub path_span: Span,
    pub position: usize,
}

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

This example is not tested
<Vec<T> as a::b::Trait>::AssociatedItem
 ^~~~~     ~~~~~~~~~~~~~~^
 ty        position = 3

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

Fields

The span of a::b::Trait in a path like <Vec<T> as a::b::Trait>::AssociatedItem; in the case where position == 0, this is an empty span.

Trait Implementations

impl Clone for QSelf
[src]

Performs copy-assignment from source. Read more

impl Debug for QSelf
[src]

impl Encodable for QSelf
[src]

impl Decodable for QSelf
[src]

Auto Trait Implementations

impl !Send for QSelf

impl !Sync for QSelf

Blanket Implementations

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Encodable for T where
    T: UseSpecializedEncodable + ?Sized
[src]

impl<T> Decodable for T where
    T: UseSpecializedDecodable
[src]

impl<E> SpecializationError for E
[src]

impl<T> Erased for T
[src]

impl<T> Send for T where
    T: ?Sized
[src]

impl<T> Sync for T where
    T: ?Sized
[src]

impl<T> Erased for T