Fully fledged Clause type
This commit is contained in:
parent
fca56a8d2c
commit
21226eefb2
11 changed files with 155 additions and 96 deletions
|
@ -106,7 +106,7 @@ pub(super) trait GoalKind<'tcx>:
|
|||
fn probe_and_match_goal_against_assumption(
|
||||
ecx: &mut EvalCtxt<'_, 'tcx>,
|
||||
goal: Goal<'tcx, Self>,
|
||||
assumption: ty::Binder<'tcx, ty::ClauseKind<'tcx>>,
|
||||
assumption: ty::Clause<'tcx>,
|
||||
then: impl FnOnce(&mut EvalCtxt<'_, 'tcx>) -> QueryResult<'tcx>,
|
||||
) -> QueryResult<'tcx>;
|
||||
|
||||
|
@ -116,7 +116,7 @@ pub(super) trait GoalKind<'tcx>:
|
|||
fn consider_implied_clause(
|
||||
ecx: &mut EvalCtxt<'_, 'tcx>,
|
||||
goal: Goal<'tcx, Self>,
|
||||
assumption: ty::Binder<'tcx, ty::ClauseKind<'tcx>>,
|
||||
assumption: ty::Clause<'tcx>,
|
||||
requirements: impl IntoIterator<Item = Goal<'tcx, ty::Predicate<'tcx>>>,
|
||||
) -> QueryResult<'tcx> {
|
||||
Self::probe_and_match_goal_against_assumption(ecx, goal, assumption, |ecx| {
|
||||
|
@ -132,7 +132,7 @@ pub(super) trait GoalKind<'tcx>:
|
|||
fn consider_alias_bound_candidate(
|
||||
ecx: &mut EvalCtxt<'_, 'tcx>,
|
||||
goal: Goal<'tcx, Self>,
|
||||
assumption: ty::Binder<'tcx, ty::ClauseKind<'tcx>>,
|
||||
assumption: ty::Clause<'tcx>,
|
||||
) -> QueryResult<'tcx> {
|
||||
Self::probe_and_match_goal_against_assumption(ecx, goal, assumption, |ecx| {
|
||||
ecx.validate_alias_bound_self_from_param_env(goal)
|
||||
|
@ -145,7 +145,7 @@ pub(super) trait GoalKind<'tcx>:
|
|||
fn consider_object_bound_candidate(
|
||||
ecx: &mut EvalCtxt<'_, 'tcx>,
|
||||
goal: Goal<'tcx, Self>,
|
||||
assumption: ty::Binder<'tcx, ty::ClauseKind<'tcx>>,
|
||||
assumption: ty::Clause<'tcx>,
|
||||
) -> QueryResult<'tcx> {
|
||||
Self::probe_and_match_goal_against_assumption(ecx, goal, assumption, |ecx| {
|
||||
let tcx = ecx.tcx();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue