Remove redundant type ops
This commit is contained in:
parent
80eb5a8e91
commit
f264e5d011
5 changed files with 3 additions and 113 deletions
|
@ -10,18 +10,14 @@ use rustc_trait_selection::traits::query::normalize::QueryNormalizeExt;
|
|||
use rustc_trait_selection::traits::query::type_op::ascribe_user_type::{
|
||||
type_op_ascribe_user_type_with_span, AscribeUserType,
|
||||
};
|
||||
use rustc_trait_selection::traits::query::type_op::eq::Eq;
|
||||
use rustc_trait_selection::traits::query::type_op::normalize::Normalize;
|
||||
use rustc_trait_selection::traits::query::type_op::prove_predicate::ProvePredicate;
|
||||
use rustc_trait_selection::traits::query::type_op::subtype::Subtype;
|
||||
use rustc_trait_selection::traits::{Normalized, Obligation, ObligationCause, ObligationCtxt};
|
||||
|
||||
pub(crate) fn provide(p: &mut Providers) {
|
||||
*p = Providers {
|
||||
type_op_ascribe_user_type,
|
||||
type_op_eq,
|
||||
type_op_prove_predicate,
|
||||
type_op_subtype,
|
||||
type_op_normalize_ty,
|
||||
type_op_normalize_clause,
|
||||
type_op_normalize_fn_sig,
|
||||
|
@ -39,16 +35,6 @@ fn type_op_ascribe_user_type<'tcx>(
|
|||
})
|
||||
}
|
||||
|
||||
fn type_op_eq<'tcx>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
canonicalized: Canonical<'tcx, ParamEnvAnd<'tcx, Eq<'tcx>>>,
|
||||
) -> Result<&'tcx Canonical<'tcx, QueryResponse<'tcx, ()>>, NoSolution> {
|
||||
tcx.infer_ctxt().enter_canonical_trait_query(&canonicalized, |ocx, key| {
|
||||
let (param_env, Eq { a, b }) = key.into_parts();
|
||||
Ok(ocx.eq(&ObligationCause::dummy(), param_env, a, b)?)
|
||||
})
|
||||
}
|
||||
|
||||
fn type_op_normalize<'tcx, T>(
|
||||
ocx: &ObligationCtxt<'_, 'tcx>,
|
||||
key: ParamEnvAnd<'tcx, Normalize<T>>,
|
||||
|
@ -91,16 +77,6 @@ fn type_op_normalize_poly_fn_sig<'tcx>(
|
|||
tcx.infer_ctxt().enter_canonical_trait_query(&canonicalized, type_op_normalize)
|
||||
}
|
||||
|
||||
fn type_op_subtype<'tcx>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
canonicalized: Canonical<'tcx, ParamEnvAnd<'tcx, Subtype<'tcx>>>,
|
||||
) -> Result<&'tcx Canonical<'tcx, QueryResponse<'tcx, ()>>, NoSolution> {
|
||||
tcx.infer_ctxt().enter_canonical_trait_query(&canonicalized, |ocx, key| {
|
||||
let (param_env, Subtype { sub, sup }) = key.into_parts();
|
||||
Ok(ocx.sup(&ObligationCause::dummy(), param_env, sup, sub)?)
|
||||
})
|
||||
}
|
||||
|
||||
fn type_op_prove_predicate<'tcx>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
canonicalized: Canonical<'tcx, ParamEnvAnd<'tcx, ProvePredicate<'tcx>>>,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue