Struct rustc_traits::chalk_context::ChalkContext [−][src]
pub(crate) struct ChalkContext<'cx, 'gcx: 'cx> { _arenas: ChalkArenas<'gcx>, _tcx: TyCtxt<'cx, 'gcx, '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?
Fields
_arenas: 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?
_tcx: TyCtxt<'cx, 'gcx, '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<'cx, 'gcx: 'cx> Copy for ChalkContext<'cx, 'gcx>
[src]
impl<'cx, 'gcx: 'cx> Copy for ChalkContext<'cx, 'gcx>
impl<'cx, 'gcx: 'cx> Clone for ChalkContext<'cx, 'gcx>
[src]
impl<'cx, 'gcx: 'cx> Clone for ChalkContext<'cx, 'gcx>
fn clone(&self) -> ChalkContext<'cx, 'gcx>
[src]
fn clone(&self) -> ChalkContext<'cx, '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, '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<'cx, 'gcx> Debug for ChalkContext<'cx, 'gcx>
[src]
impl<'cx, 'gcx> Debug for ChalkContext<'cx, 'gcx>
Auto Trait Implementations
impl<'cx, 'gcx> !Send for ChalkContext<'cx, 'gcx>
impl<'cx, 'gcx> !Send for ChalkContext<'cx, 'gcx>
impl<'cx, 'gcx> !Sync for ChalkContext<'cx, 'gcx>
impl<'cx, 'gcx> !Sync for ChalkContext<'cx, 'gcx>