Struct rustc_infer::traits::query::CandidateStep [−][src]
pub struct CandidateStep<'tcx> {
pub self_ty: Canonical<'tcx, QueryResponse<'tcx, &'tcx TyS<'tcx>>>,
pub autoderefs: usize,
pub from_unsafe_deref: bool,
pub unsize: bool,
}Fields
self_ty: Canonical<'tcx, QueryResponse<'tcx, &'tcx TyS<'tcx>>>autoderefs: usizefrom_unsafe_deref: boolExpand description
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: boolAuto 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> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]
fn with_const(self) -> ConstnessAnd<Self>[src]
fn without_const(self) -> ConstnessAnd<Self>[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,