Struct rustc::ty::wf::WfPredicates [−][src]
struct WfPredicates<'a, 'gcx: 'a + 'tcx, 'tcx: 'a> {
infcx: &'a InferCtxt<'a, 'gcx, 'tcx>,
param_env: ParamEnv<'tcx>,
body_id: NodeId,
span: Span,
out: Vec<PredicateObligation<'tcx>>,
}🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Fields
infcx: &'a InferCtxt<'a, 'gcx, 'tcx>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
param_env: ParamEnv<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
body_id: NodeId
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
span: Span
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
out: Vec<PredicateObligation<'tcx>>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Methods
impl<'a, 'gcx, 'tcx> WfPredicates<'a, 'gcx, 'tcx>[src]
impl<'a, 'gcx, 'tcx> WfPredicates<'a, 'gcx, 'tcx>fn cause(&mut self, code: ObligationCauseCode<'tcx>) -> ObligationCause<'tcx>[src]
fn cause(&mut self, code: ObligationCauseCode<'tcx>) -> ObligationCause<'tcx>🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn normalize(&mut self) -> Vec<PredicateObligation<'tcx>>[src]
fn normalize(&mut self) -> Vec<PredicateObligation<'tcx>>🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
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
)🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
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>)🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Pushes the obligations required for trait_ref::Item to be WF
into self.out.
fn compute_const(&mut self, constant: &'tcx Const<'tcx>)[src]
fn compute_const(&mut self, constant: &'tcx Const<'tcx>)🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Pushes the obligations required for a constant value to be WF
into self.out.
fn require_sized(&mut self, subty: Ty<'tcx>, cause: ObligationCauseCode<'tcx>)[src]
fn require_sized(&mut self, subty: Ty<'tcx>, cause: ObligationCauseCode<'tcx>)🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn compute(&mut self, ty0: Ty<'tcx>) -> bool[src]
fn compute(&mut self, ty0: Ty<'tcx>) -> bool🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Push new obligations into out. Returns true if it was able
to generate all the predicates needed to validate that ty0
is WF. Returns false if ty0 is an unresolved type variable,
in which case we are not able to simplify at all.
fn nominal_obligations(
&mut self,
def_id: DefId,
substs: &Substs<'tcx>
) -> Vec<PredicateObligation<'tcx>>[src]
fn nominal_obligations(
&mut self,
def_id: DefId,
substs: &Substs<'tcx>
) -> Vec<PredicateObligation<'tcx>>🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
fn from_object_ty(
&mut self,
ty: Ty<'tcx>,
data: Binder<&'tcx Slice<ExistentialPredicate<'tcx>>>,
region: Region<'tcx>
)[src]
fn from_object_ty(
&mut self,
ty: Ty<'tcx>,
data: Binder<&'tcx Slice<ExistentialPredicate<'tcx>>>,
region: Region<'tcx>
)🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Auto Trait Implementations
impl<'a, 'gcx, 'tcx> !Send for WfPredicates<'a, 'gcx, 'tcx>
impl<'a, 'gcx, 'tcx> !Send for WfPredicates<'a, 'gcx, 'tcx>impl<'a, 'gcx, 'tcx> !Sync for WfPredicates<'a, 'gcx, 'tcx>
impl<'a, 'gcx, 'tcx> !Sync for WfPredicates<'a, 'gcx, 'tcx>