[−][src]Struct rustc_middle::traits::query::CandidateStep

pub struct CandidateStep<'tcx> {
    pub self_ty: Canonical<'tcx, QueryResponse<'tcx, Ty<'tcx>>>,
    pub autoderefs: usize,
    pub from_unsafe_deref: bool,
    pub unsize: bool,
}

Fields

self_ty: Canonical<'tcx, QueryResponse<'tcx, Ty<'tcx>>>autoderefs: usizefrom_unsafe_deref: bool

true if the type results from a dereference of a raw pointer. when assembling candidates, we include these steps, but not when picking methods. This so that if we have foo: *const Foo and Foo has methods fn by_raw_ptr(self: *const Self) and fn by_ref(&self), then foo.by_raw_ptr() will work and foo.by_ref() won't.

unsize: bool

Trait Implementations

impl<'tcx> Debug for CandidateStep<'tcx>[src]

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CandidateStep<'tcx>[src]

Auto Trait Implementations

impl<'tcx> !RefUnwindSafe for CandidateStep<'tcx>

impl<'tcx> !Send for CandidateStep<'tcx>

impl<'tcx> !Sync for CandidateStep<'tcx>

impl<'tcx> Unpin for CandidateStep<'tcx>

impl<'tcx> !UnwindSafe for CandidateStep<'tcx>

Blanket Implementations

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

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

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

impl<'a, T> Captures<'a> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

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

impl<T> MaybeResult<T> for T[src]

type Error = !

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

type Error = Infallible

The type returned in the event of a conversion error.

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

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]