Eliminate duplicate codes of expected_found_bool
This commit is contained in:
parent
0b42deaccc
commit
a995462f9a
3 changed files with 7 additions and 15 deletions
|
@ -37,7 +37,7 @@ use crate::traits::{Obligation, PredicateObligations};
|
|||
use rustc_data_structures::sso::SsoHashMap;
|
||||
use rustc_hir::def_id::DefId;
|
||||
use rustc_middle::traits::ObligationCause;
|
||||
use rustc_middle::ty::error::TypeError;
|
||||
use rustc_middle::ty::error::{ExpectedFound, TypeError};
|
||||
use rustc_middle::ty::relate::{self, Relate, RelateResult, TypeRelation};
|
||||
use rustc_middle::ty::subst::SubstsRef;
|
||||
use rustc_middle::ty::{self, InferConst, ToPredicate, Ty, TyCtxt, TypeFoldable};
|
||||
|
@ -790,7 +790,7 @@ pub fn const_unification_error<'tcx>(
|
|||
a_is_expected: bool,
|
||||
(a, b): (&'tcx ty::Const<'tcx>, &'tcx ty::Const<'tcx>),
|
||||
) -> TypeError<'tcx> {
|
||||
TypeError::ConstMismatch(ty::relate::expected_found_bool(a_is_expected, a, b))
|
||||
TypeError::ConstMismatch(ExpectedFound::new(a_is_expected, a, b))
|
||||
}
|
||||
|
||||
fn int_unification_error<'tcx>(
|
||||
|
@ -798,7 +798,7 @@ fn int_unification_error<'tcx>(
|
|||
v: (ty::IntVarValue, ty::IntVarValue),
|
||||
) -> TypeError<'tcx> {
|
||||
let (a, b) = v;
|
||||
TypeError::IntMismatch(ty::relate::expected_found_bool(a_is_expected, a, b))
|
||||
TypeError::IntMismatch(ExpectedFound::new(a_is_expected, a, b))
|
||||
}
|
||||
|
||||
fn float_unification_error<'tcx>(
|
||||
|
@ -806,7 +806,7 @@ fn float_unification_error<'tcx>(
|
|||
v: (ty::FloatVarValue, ty::FloatVarValue),
|
||||
) -> TypeError<'tcx> {
|
||||
let (ty::FloatVarValue(a), ty::FloatVarValue(b)) = v;
|
||||
TypeError::FloatMismatch(ty::relate::expected_found_bool(a_is_expected, a, b))
|
||||
TypeError::FloatMismatch(ExpectedFound::new(a_is_expected, a, b))
|
||||
}
|
||||
|
||||
struct ConstInferUnifier<'cx, 'tcx> {
|
||||
|
|
|
@ -849,13 +849,5 @@ pub fn expected_found<R, T>(relation: &mut R, a: T, b: T) -> ExpectedFound<T>
|
|||
where
|
||||
R: TypeRelation<'tcx>,
|
||||
{
|
||||
expected_found_bool(relation.a_is_expected(), a, b)
|
||||
}
|
||||
|
||||
pub fn expected_found_bool<T>(a_is_expected: bool, a: T, b: T) -> ExpectedFound<T> {
|
||||
if a_is_expected {
|
||||
ExpectedFound { expected: a, found: b }
|
||||
} else {
|
||||
ExpectedFound { expected: b, found: a }
|
||||
}
|
||||
ExpectedFound::new(relation.a_is_expected(), a, b)
|
||||
}
|
||||
|
|
|
@ -36,8 +36,8 @@ use rustc_infer::infer;
|
|||
use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind};
|
||||
use rustc_infer::infer::InferOk;
|
||||
use rustc_middle::ty::adjustment::{Adjust, Adjustment, AllowTwoPhase};
|
||||
use rustc_middle::ty::error::ExpectedFound;
|
||||
use rustc_middle::ty::error::TypeError::{FieldMisMatch, Sorts};
|
||||
use rustc_middle::ty::relate::expected_found_bool;
|
||||
use rustc_middle::ty::subst::SubstsRef;
|
||||
use rustc_middle::ty::{self, AdtKind, Ty, TypeFoldable};
|
||||
use rustc_session::parse::feature_err;
|
||||
|
@ -1494,7 +1494,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
&self.misc(base_expr.span),
|
||||
adt_ty,
|
||||
base_ty,
|
||||
Sorts(expected_found_bool(true, adt_ty, base_ty)),
|
||||
Sorts(ExpectedFound::new(true, adt_ty, base_ty)),
|
||||
)
|
||||
.emit();
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue