[−][src]Struct rustc_traits::chalk_context::ChalkArenas
🔬 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
_phantom: PhantomData<&'gcx ()>
🔬 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?
Trait Implementations
impl<'gcx> Copy for ChalkArenas<'gcx>
[src]
impl<'gcx> Copy for ChalkArenas<'gcx>
impl<'gcx> Clone for ChalkArenas<'gcx>
[src]
impl<'gcx> Clone for ChalkArenas<'gcx>
fn clone(&self) -> ChalkArenas<'gcx>
[src]
fn clone(&self) -> ChalkArenas<'gcx>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<'gcx> Debug for ChalkArenas<'gcx>
[src]
impl<'gcx> Debug for ChalkArenas<'gcx>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<'tcx> Context for ChalkArenas<'tcx>
[src]
impl<'tcx> Context for ChalkArenas<'tcx>
type CanonicalExClause = Canonical<'tcx, ExClause<Self>>
🔬 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?
type CanonicalGoalInEnvironment = Canonical<'tcx, ParamEnvAnd<'tcx, Goal<'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?
A canonicalized GoalInEnvironment
-- that is, one where all free inference variables have been bound into the canonical binder. See [the rustc-guide] for more information. Read more
type UCanonicalGoalInEnvironment = Canonical<'tcx, ParamEnvAnd<'tcx, Goal<'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?
A u-canonicalized GoalInEnvironment
-- this is one where the free universes are renumbered to consecutive integers starting from U1 (but preserving their relative order). Read more
type CanonicalConstrainedSubst = Canonical<'tcx, ConstrainedSubst<'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?
Part of an answer: represents a canonicalized substitution, combined with region constraints. See [the rustc-guide] for more information. Read more
type UniverseMap = UniverseMap
🔬 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?
A map between universes. These are produced when u-canonicalizing something; they map canonical results back to the universes from the original. Read more
type Solution = Canonical<'tcx, QueryResult<'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?
A final solution that is passed back to the user. This is completely opaque to the SLG solver; it is produced by make_solution
. Read more
type InferenceNormalizedSubst = CanonicalVarValues<'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?
Extracted from a canonicalized substitution or canonicalized ex clause, this is the type of substitution that is fully normalized with respect to inference variables. Read more
type GoalInEnvironment = ParamEnvAnd<'tcx, Goal<'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?
Represents a goal along with an environment.
type RegionConstraint = QueryRegionConstraint<'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?
Represents a region constraint that will be propagated back (but not verified). Read more
type Substitution = CanonicalVarValues<'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?
Represents a substitution from the "canonical variables" found in a canonical goal to specific values. Read more
type Environment = 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?
Represents a set of hypotheses that are assumed to be true.
type Goal = Goal<'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?
Goals correspond to things we can prove.
type DomainGoal = DomainGoal<'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?
A goal that can be targeted by a program clause. The SLG solver treats these opaquely; in contrast, it understands "meta" goals like G1 && G2
and so forth natively. Read more
type BindersGoal = Binder<&'tcx Goal<'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?
A "higher-order" goal, quantified over some types and/or lifetimes. When you have a quantification, like forall<T> { G }
or exists<T> { G }
, this represents the <T> { G }
part. Read more
type Parameter = Kind<'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?
A term that can be quantified over and unified -- in current Chalk, either a type or lifetime. Read more
type ProgramClause = ProgramClause<'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?
A rule like DomainGoal :- Goal
. Read more
type ProgramClauses = Vec<ProgramClause<'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?
A vector of program clauses.
type UnificationResult = InferOk<'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?
The successful result from unification: contains new subgoals and things that can be attached to an ex-clause. Read more
fn into_goal(domain_goal: DomainGoal<'tcx>) -> Goal<'tcx>
[src]
fn into_goal(domain_goal: DomainGoal<'tcx>) -> Goal<'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?
Upcast this domain goal into a more general goal.
fn cannot_prove() -> Goal<'tcx>
[src]
fn cannot_prove() -> Goal<'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?
Create a "cannot prove" goal (see HhGoal::CannotProve
).
fn goal_in_environment(
env: &ParamEnv<'tcx>,
goal: Goal<'tcx>
) -> ParamEnvAnd<'tcx, Goal<'tcx>>
[src]
fn goal_in_environment(
env: &ParamEnv<'tcx>,
goal: Goal<'tcx>
) -> ParamEnvAnd<'tcx, Goal<'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?
Given an environment and a goal, glue them together to create a GoalInEnvironment
. Read more
impl<'gcx, 'cx> AggregateOps<ChalkArenas<'gcx>> for ChalkContext<'cx, 'gcx>
[src]
impl<'gcx, 'cx> AggregateOps<ChalkArenas<'gcx>> for ChalkContext<'cx, 'gcx>
fn make_solution(
&self,
_root_goal: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>,
_simplified_answers: impl AnswerStream<ChalkArenas<'gcx>>
) -> Option<Canonical<'gcx, QueryResult<'gcx, ()>>>
[src]
fn make_solution(
&self,
_root_goal: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>,
_simplified_answers: impl AnswerStream<ChalkArenas<'gcx>>
) -> Option<Canonical<'gcx, QueryResult<'gcx, ()>>>
🔬 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?
impl<'gcx, 'cx> ContextOps<ChalkArenas<'gcx>> for ChalkContext<'cx, 'gcx>
[src]
impl<'gcx, 'cx> ContextOps<ChalkArenas<'gcx>> for ChalkContext<'cx, 'gcx>
fn is_coinductive(
&self,
_goal: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
) -> bool
[src]
fn is_coinductive(
&self,
_goal: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
) -> 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?
True if this is a coinductive goal -- e.g., proving an auto trait.
fn instantiate_ucanonical_goal<R>(
&self,
_arg: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>,
_op: impl WithInstantiatedUCanonicalGoal<ChalkArenas<'gcx>, Output = R>
) -> R
[src]
fn instantiate_ucanonical_goal<R>(
&self,
_arg: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>,
_op: impl WithInstantiatedUCanonicalGoal<ChalkArenas<'gcx>, Output = R>
) -> R
🔬 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?
Create an inference table for processing a new goal and instantiate that goal in that context, returning "all the pieces".
More specifically: given a u-canonical goal arg
, creates a
new inference table T
and populates it with the universes
found in arg
. Then, creates a substitution S
that maps
each bound variable in arg
to a fresh inference variable
from T. Returns:
- the table
T
- the substitution
S
- the environment and goal found by substitution
S
intoarg
fn instantiate_ex_clause<R>(
&self,
_num_universes: usize,
_canonical_ex_clause: &Canonical<'gcx, ExClause<ChalkArenas<'gcx>>>,
_op: impl WithInstantiatedExClause<ChalkArenas<'gcx>, Output = R>
) -> R
[src]
fn instantiate_ex_clause<R>(
&self,
_num_universes: usize,
_canonical_ex_clause: &Canonical<'gcx, ExClause<ChalkArenas<'gcx>>>,
_op: impl WithInstantiatedExClause<ChalkArenas<'gcx>, Output = R>
) -> R
🔬 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 empty_constraints(ccs: &Canonical<'gcx, ConstrainedSubst<'gcx>>) -> bool
[src]
fn empty_constraints(ccs: &Canonical<'gcx, ConstrainedSubst<'gcx>>) -> 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?
True if this solution has no region constraints.
fn inference_normalized_subst_from_ex_clause<'a>(
canon_ex_clause: &'a Canonical<'gcx, ExClause<ChalkArenas<'gcx>>>
) -> &'a CanonicalVarValues<'gcx>
[src]
fn inference_normalized_subst_from_ex_clause<'a>(
canon_ex_clause: &'a Canonical<'gcx, ExClause<ChalkArenas<'gcx>>>
) -> &'a CanonicalVarValues<'gcx>
🔬 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?
Extracts the inner normalized substitution from a canonical ex-clause.
fn inference_normalized_subst_from_subst<'a>(
canon_subst: &'a Canonical<'gcx, ConstrainedSubst<'gcx>>
) -> &'a CanonicalVarValues<'gcx>
[src]
fn inference_normalized_subst_from_subst<'a>(
canon_subst: &'a Canonical<'gcx, ConstrainedSubst<'gcx>>
) -> &'a CanonicalVarValues<'gcx>
🔬 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?
Extracts the inner normalized substitution from a canonical constraint subst.
fn canonical<'a>(
u_canon: &'a Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
) -> &'a Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
[src]
fn canonical<'a>(
u_canon: &'a Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
) -> &'a Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
🔬 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 is_trivial_substitution(
_u_canon: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>,
_canonical_subst: &Canonical<'gcx, ConstrainedSubst<'gcx>>
) -> bool
[src]
fn is_trivial_substitution(
_u_canon: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>,
_canonical_subst: &Canonical<'gcx, ConstrainedSubst<'gcx>>
) -> 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?
fn num_universes(_: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>) -> usize
[src]
fn num_universes(_: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>) -> usize
🔬 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 map_goal_from_canonical(
_map: &UniverseMap,
value: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
) -> Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
[src]
fn map_goal_from_canonical(
_map: &UniverseMap,
value: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
) -> Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
🔬 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?
Convert a goal G from the canonical universes into our local universes. This will yield a goal G' that is the same but for the universes of universally quantified names.
fn map_subst_from_canonical(
_map: &UniverseMap,
value: &Canonical<'gcx, ConstrainedSubst<'gcx>>
) -> Canonical<'gcx, ConstrainedSubst<'gcx>>
[src]
fn map_subst_from_canonical(
_map: &UniverseMap,
value: &Canonical<'gcx, ConstrainedSubst<'gcx>>
) -> Canonical<'gcx, ConstrainedSubst<'gcx>>
🔬 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?
Convert a substitution from the canonical universes into our local universes. This will yield a substitution S' that is the same but for the universes of universally quantified names. Read more
impl<'gcx, 'tcx, 'cx> InferenceTable<ChalkArenas<'gcx>, ChalkArenas<'tcx>> for ChalkInferenceContext<'cx, 'gcx, 'tcx>
[src]
impl<'gcx, 'tcx, 'cx> InferenceTable<ChalkArenas<'gcx>, ChalkArenas<'tcx>> for ChalkInferenceContext<'cx, 'gcx, 'tcx>
fn into_hh_goal(&mut self, goal: Goal<'tcx>) -> HhGoal<ChalkArenas<'tcx>>
[src]
fn into_hh_goal(&mut self, goal: Goal<'tcx>) -> HhGoal<ChalkArenas<'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?
Convert the context's goal type into the HhGoal
type that the SLG solver understands. The expectation is that the context's goal type has the same set of variants, but with different names and a different setup. If you inspect HhGoal
, you will see that this is a "shallow" or "lazy" conversion -- that is, we convert the outermost goal into an HhGoal
, but the goals contained within are left as context goals. Read more
fn add_clauses(
&mut self,
_env: &ParamEnv<'tcx>,
_clauses: Vec<ProgramClause<'tcx>>
) -> ParamEnv<'tcx>
[src]
fn add_clauses(
&mut self,
_env: &ParamEnv<'tcx>,
_clauses: Vec<ProgramClause<'tcx>>
) -> 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?
impl<'gcx, 'tcx, 'cx> ResolventOps<ChalkArenas<'gcx>, ChalkArenas<'tcx>> for ChalkInferenceContext<'cx, 'gcx, 'tcx>
[src]
impl<'gcx, 'tcx, 'cx> ResolventOps<ChalkArenas<'gcx>, ChalkArenas<'tcx>> for ChalkInferenceContext<'cx, 'gcx, 'tcx>
fn resolvent_clause(
&mut self,
_environment: &ParamEnv<'tcx>,
_goal: &DomainGoal<'tcx>,
_subst: &CanonicalVarValues<'tcx>,
_clause: &ProgramClause<'tcx>
) -> Fallible<Canonical<'gcx, ExClause<ChalkArenas<'gcx>>>>
[src]
fn resolvent_clause(
&mut self,
_environment: &ParamEnv<'tcx>,
_goal: &DomainGoal<'tcx>,
_subst: &CanonicalVarValues<'tcx>,
_clause: &ProgramClause<'tcx>
) -> Fallible<Canonical<'gcx, ExClause<ChalkArenas<'gcx>>>>
🔬 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?
Combines the goal
(instantiated within infer
) with the given program clause to yield the start of a new strand (a canonical ex-clause). Read more
fn apply_answer_subst(
&mut self,
_ex_clause: ExClause<ChalkArenas<'tcx>>,
_selected_goal: &ParamEnvAnd<'tcx, Goal<'tcx>>,
_answer_table_goal: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>,
_canonical_answer_subst: &Canonical<'gcx, ConstrainedSubst<'gcx>>
) -> Fallible<ExClause<ChalkArenas<'tcx>>>
[src]
fn apply_answer_subst(
&mut self,
_ex_clause: ExClause<ChalkArenas<'tcx>>,
_selected_goal: &ParamEnvAnd<'tcx, Goal<'tcx>>,
_answer_table_goal: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>,
_canonical_answer_subst: &Canonical<'gcx, ConstrainedSubst<'gcx>>
) -> Fallible<ExClause<ChalkArenas<'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?
impl<'gcx, 'tcx, 'cx> TruncateOps<ChalkArenas<'gcx>, ChalkArenas<'tcx>> for ChalkInferenceContext<'cx, 'gcx, 'tcx>
[src]
impl<'gcx, 'tcx, 'cx> TruncateOps<ChalkArenas<'gcx>, ChalkArenas<'tcx>> for ChalkInferenceContext<'cx, 'gcx, 'tcx>
fn truncate_goal(
&mut self,
subgoal: &ParamEnvAnd<'tcx, Goal<'tcx>>
) -> Option<ParamEnvAnd<'tcx, Goal<'tcx>>>
[src]
fn truncate_goal(
&mut self,
subgoal: &ParamEnvAnd<'tcx, Goal<'tcx>>
) -> Option<ParamEnvAnd<'tcx, Goal<'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?
If subgoal
is too large, return a truncated variant (else return None
). Read more
fn truncate_answer(
&mut self,
subst: &CanonicalVarValues<'tcx>
) -> Option<CanonicalVarValues<'tcx>>
[src]
fn truncate_answer(
&mut self,
subst: &CanonicalVarValues<'tcx>
) -> Option<CanonicalVarValues<'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?
If subst
is too large, return a truncated variant (else return None
). Read more
impl<'gcx, 'tcx, 'cx> UnificationOps<ChalkArenas<'gcx>, ChalkArenas<'tcx>> for ChalkInferenceContext<'cx, 'gcx, 'tcx>
[src]
impl<'gcx, 'tcx, 'cx> UnificationOps<ChalkArenas<'gcx>, ChalkArenas<'tcx>> for ChalkInferenceContext<'cx, 'gcx, 'tcx>
fn program_clauses(
&self,
_environment: &ParamEnv<'tcx>,
goal: &DomainGoal<'tcx>
) -> Vec<ProgramClause<'tcx>>
[src]
fn program_clauses(
&self,
_environment: &ParamEnv<'tcx>,
goal: &DomainGoal<'tcx>
) -> Vec<ProgramClause<'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?
Returns the set of program clauses that might apply to goal
. (This set can be over-approximated, naturally.) Read more
fn instantiate_binders_universally(
&mut self,
_arg: &Binder<&'tcx Goal<'tcx>>
) -> Goal<'tcx>
[src]
fn instantiate_binders_universally(
&mut self,
_arg: &Binder<&'tcx Goal<'tcx>>
) -> Goal<'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 instantiate_binders_existentially(
&mut self,
arg: &Binder<&'tcx Goal<'tcx>>
) -> Goal<'tcx>
[src]
fn instantiate_binders_existentially(
&mut self,
arg: &Binder<&'tcx Goal<'tcx>>
) -> Goal<'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 debug_ex_clause<'v>(
&mut self,
value: &'v ExClause<ChalkArenas<'tcx>>
) -> Box<Debug + 'v>
[src]
fn debug_ex_clause<'v>(
&mut self,
value: &'v ExClause<ChalkArenas<'tcx>>
) -> Box<Debug + 'v>
🔬 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 canonicalize_goal(
&mut self,
value: &ParamEnvAnd<'tcx, Goal<'tcx>>
) -> Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
[src]
fn canonicalize_goal(
&mut self,
value: &ParamEnvAnd<'tcx, Goal<'tcx>>
) -> Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
🔬 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 canonicalize_ex_clause(
&mut self,
value: &ExClause<ChalkArenas<'tcx>>
) -> Canonical<'gcx, ExClause<ChalkArenas<'gcx>>>
[src]
fn canonicalize_ex_clause(
&mut self,
value: &ExClause<ChalkArenas<'tcx>>
) -> Canonical<'gcx, ExClause<ChalkArenas<'gcx>>>
🔬 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 canonicalize_constrained_subst(
&mut self,
subst: CanonicalVarValues<'tcx>,
constraints: Vec<QueryRegionConstraint<'tcx>>
) -> Canonical<'gcx, ConstrainedSubst<'gcx>>
[src]
fn canonicalize_constrained_subst(
&mut self,
subst: CanonicalVarValues<'tcx>,
constraints: Vec<QueryRegionConstraint<'tcx>>
) -> Canonical<'gcx, ConstrainedSubst<'gcx>>
🔬 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 u_canonicalize_goal(
&mut self,
value: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
) -> (Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>, UniverseMap)
[src]
fn u_canonicalize_goal(
&mut self,
value: &Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>
) -> (Canonical<'gcx, ParamEnvAnd<'gcx, Goal<'gcx>>>, UniverseMap)
🔬 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 invert_goal(
&mut self,
_value: &ParamEnvAnd<'tcx, Goal<'tcx>>
) -> Option<ParamEnvAnd<'tcx, Goal<'tcx>>>
[src]
fn invert_goal(
&mut self,
_value: &ParamEnvAnd<'tcx, Goal<'tcx>>
) -> Option<ParamEnvAnd<'tcx, Goal<'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 unify_parameters(
&mut self,
_environment: &ParamEnv<'tcx>,
_a: &Kind<'tcx>,
_b: &Kind<'tcx>
) -> ChalkEngineFallible<InferOk<'tcx, ()>>
[src]
fn unify_parameters(
&mut self,
_environment: &ParamEnv<'tcx>,
_a: &Kind<'tcx>,
_b: &Kind<'tcx>
) -> ChalkEngineFallible<InferOk<'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 sink_answer_subset(
&self,
value: &Canonical<'gcx, ConstrainedSubst<'gcx>>
) -> Canonical<'tcx, ConstrainedSubst<'tcx>>
[src]
fn sink_answer_subset(
&self,
value: &Canonical<'gcx, ConstrainedSubst<'gcx>>
) -> Canonical<'tcx, ConstrainedSubst<'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 lift_delayed_literal(
&self,
_value: DelayedLiteral<ChalkArenas<'tcx>>
) -> DelayedLiteral<ChalkArenas<'gcx>>
[src]
fn lift_delayed_literal(
&self,
_value: DelayedLiteral<ChalkArenas<'tcx>>
) -> DelayedLiteral<ChalkArenas<'gcx>>
🔬 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 into_ex_clause(
&mut self,
_result: InferOk<'tcx, ()>,
_ex_clause: &mut ExClause<ChalkArenas<'tcx>>
)
[src]
fn into_ex_clause(
&mut self,
_result: InferOk<'tcx, ()>,
_ex_clause: &mut ExClause<ChalkArenas<'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?
Add the residual subgoals as new subgoals of the ex-clause. Also add region constraints. Read more
impl<'gcx, 'a> ExClauseLift<'gcx> for ChalkArenas<'a>
[src]
impl<'gcx, 'a> ExClauseLift<'gcx> for ChalkArenas<'a>
type LiftedExClause = ExClause<ChalkArenas<'gcx>>
🔬 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 lift_ex_clause_to_tcx<'tcx>(
_ex_clause: &ExClause<ChalkArenas<'a>>,
_tcx: TyCtxt<'_, '_, 'tcx>
) -> Option<Self::LiftedExClause>
[src]
fn lift_ex_clause_to_tcx<'tcx>(
_ex_clause: &ExClause<ChalkArenas<'a>>,
_tcx: TyCtxt<'_, '_, 'tcx>
) -> Option<Self::LiftedExClause>
🔬 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?
impl<'tcx> ExClauseFold<'tcx> for ChalkArenas<'tcx>
[src]
impl<'tcx> ExClauseFold<'tcx> for ChalkArenas<'tcx>
fn fold_ex_clause_with<'gcx: 'tcx, F: TypeFolder<'gcx, 'tcx>>(
ex_clause: &ExClause<ChalkArenas<'tcx>>,
folder: &mut F
) -> ExClause<ChalkArenas<'tcx>>
[src]
fn fold_ex_clause_with<'gcx: 'tcx, F: TypeFolder<'gcx, 'tcx>>(
ex_clause: &ExClause<ChalkArenas<'tcx>>,
folder: &mut F
) -> ExClause<ChalkArenas<'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 visit_ex_clause_with<'gcx: 'tcx, V: TypeVisitor<'tcx>>(
ex_clause: &ExClause<Self>,
visitor: &mut V
) -> bool
[src]
fn visit_ex_clause_with<'gcx: 'tcx, V: TypeVisitor<'tcx>>(
ex_clause: &ExClause<Self>,
visitor: &mut V
) -> 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?
Auto Trait Implementations
impl<'gcx> Send for ChalkArenas<'gcx>
impl<'gcx> Send for ChalkArenas<'gcx>
impl<'gcx> Sync for ChalkArenas<'gcx>
impl<'gcx> Sync for ChalkArenas<'gcx>
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
type Owned = T
fn to_owned(&self) -> T
[src]
fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
[src]
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<E> SpecializationError for E
[src]
impl<E> SpecializationError for E
fn not_found<S, T>(trait_name: &'static str, method_name: &'static str) -> E where
T: ?Sized,
[src]
fn not_found<S, T>(trait_name: &'static str, method_name: &'static str) -> E where
T: ?Sized,
🔬 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?
Create an error for a missing method specialization. Defaults to panicking with type, trait & method names. S
is the encoder/decoder state type, T
is the type being encoded/decoded, and the arguments are the names of the trait and method that should've been overridden. Read more
impl<T> Erased for T
[src]
impl<T> Erased for T
impl<T> Send for T where
T: ?Sized,
[src]
impl<T> Send for T where
T: ?Sized,
impl<T> Sync for T where
T: ?Sized,
[src]
impl<T> Sync for T where
T: ?Sized,
impl<T> Erased for T
impl<T> Erased for T
impl<T> MaybeResult for T
[src]
impl<T> MaybeResult for T
fn from_ok(x: T) -> T
[src]
fn from_ok(x: T) -> T
🔬 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 map_same<F>(self, f: F) -> T where
F: FnOnce(T) -> T,
[src]
fn map_same<F>(self, f: F) -> T where
F: FnOnce(T) -> T,
🔬 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?
impl<'a, T> Captures for T where
T: ?Sized,
[src]
impl<'a, T> Captures for T where
T: ?Sized,