Struct rustc_trait_selection::traits::wf::WfPredicates [−][src]
struct WfPredicates<'a, 'tcx> {
infcx: &'a InferCtxt<'a, 'tcx>,
param_env: ParamEnv<'tcx>,
body_id: HirId,
span: Span,
out: Vec<PredicateObligation<'tcx>>,
recursion_depth: usize,
item: Option<&'tcx Item<'tcx>>,
}Fields
infcx: &'a InferCtxt<'a, 'tcx>param_env: ParamEnv<'tcx>body_id: HirIdspan: Spanout: Vec<PredicateObligation<'tcx>>recursion_depth: usizeitem: Option<&'tcx Item<'tcx>>Implementations
impl<'a, 'tcx> WfPredicates<'a, 'tcx>[src]
impl<'a, 'tcx> WfPredicates<'a, 'tcx>[src]fn tcx(&self) -> TyCtxt<'tcx>[src]
fn cause(&self, code: ObligationCauseCode<'tcx>) -> ObligationCause<'tcx>[src]
fn normalize(self) -> Vec<PredicateObligation<'tcx>>[src]
fn compute_trait_ref(
&mut self,
trait_ref: &TraitRef<'tcx>,
elaborate: Elaborate
)[src]
fn compute_trait_ref(
&mut self,
trait_ref: &TraitRef<'tcx>,
elaborate: Elaborate
)[src]Pushes the obligations required for trait_ref to be WF into self.out.
fn compute_projection(&mut self, data: ProjectionTy<'tcx>)[src]
fn compute_projection(&mut self, data: ProjectionTy<'tcx>)[src]Pushes the obligations required for trait_ref::Item to be WF
into self.out.
fn require_sized(&mut self, subty: Ty<'tcx>, cause: ObligationCauseCode<'tcx>)[src]
fn compute(&mut self, arg: GenericArg<'tcx>)[src]
fn compute(&mut self, arg: GenericArg<'tcx>)[src]Pushes all the predicates needed to validate that ty is WF into out.
fn nominal_obligations(
&mut self,
def_id: DefId,
substs: SubstsRef<'tcx>
) -> Vec<PredicateObligation<'tcx>>[src]
&mut self,
def_id: DefId,
substs: SubstsRef<'tcx>
) -> Vec<PredicateObligation<'tcx>>
fn from_object_ty(
&mut self,
ty: Ty<'tcx>,
data: &'tcx List<Binder<'tcx, ExistentialPredicate<'tcx>>>,
region: Region<'tcx>
)[src]
&mut self,
ty: Ty<'tcx>,
data: &'tcx List<Binder<'tcx, ExistentialPredicate<'tcx>>>,
region: Region<'tcx>
)
Auto Trait Implementations
impl<'a, 'tcx> !RefUnwindSafe for WfPredicates<'a, 'tcx>
impl<'a, 'tcx> !Send for WfPredicates<'a, 'tcx>
impl<'a, 'tcx> !Sync for WfPredicates<'a, 'tcx>
impl<'a, 'tcx> Unpin for WfPredicates<'a, 'tcx> where
'tcx: 'a,
'tcx: 'a,
impl<'a, 'tcx> !UnwindSafe for WfPredicates<'a, '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]