Auto merge of #124952 - compiler-errors:no-error, r=lcnr
Rename some `FulfillmentErrorCode`/`ObligationCauseCode` variants to be less redundant 1. Rename some `FulfillmentErrorCode` variants. 2. Always use `ObligationCauseCode::` to prefix a code, rather than using a glob import and naming them through `traits::`. 3. Rename some `ObligationCauseCode` variants -- I wasn't particularly thorough with thinking of a new names for these, so could workshop them if necessary. 4. Misc stuff from renaming. r? lcnr
This commit is contained in:
commit
2cce088584
48 changed files with 432 additions and 393 deletions
|
@ -175,7 +175,7 @@ fn compare_method_predicate_entailment<'tcx>(
|
|||
let cause = ObligationCause::new(
|
||||
impl_m_span,
|
||||
impl_m_def_id,
|
||||
ObligationCauseCode::CompareImplItemObligation {
|
||||
ObligationCauseCode::CompareImplItem {
|
||||
impl_item_def_id: impl_m_def_id,
|
||||
trait_item_def_id: trait_m.def_id,
|
||||
kind: impl_m.kind,
|
||||
|
@ -236,7 +236,7 @@ fn compare_method_predicate_entailment<'tcx>(
|
|||
let cause = ObligationCause::new(
|
||||
span,
|
||||
impl_m_def_id,
|
||||
ObligationCauseCode::CompareImplItemObligation {
|
||||
ObligationCauseCode::CompareImplItem {
|
||||
impl_item_def_id: impl_m_def_id,
|
||||
trait_item_def_id: trait_m.def_id,
|
||||
kind: impl_m.kind,
|
||||
|
@ -464,7 +464,7 @@ pub(super) fn collect_return_position_impl_trait_in_trait_tys<'tcx>(
|
|||
let cause = ObligationCause::new(
|
||||
return_span,
|
||||
impl_m_def_id,
|
||||
ObligationCauseCode::CompareImplItemObligation {
|
||||
ObligationCauseCode::CompareImplItem {
|
||||
impl_item_def_id: impl_m_def_id,
|
||||
trait_item_def_id: trait_m.def_id,
|
||||
kind: impl_m.kind,
|
||||
|
@ -819,7 +819,7 @@ impl<'tcx> TypeFolder<TyCtxt<'tcx>> for ImplTraitInTraitCollector<'_, 'tcx> {
|
|||
ObligationCause::new(
|
||||
self.span,
|
||||
self.body_id,
|
||||
ObligationCauseCode::BindingObligation(proj.def_id, pred_span),
|
||||
ObligationCauseCode::SpannedWhereClause(proj.def_id, pred_span),
|
||||
),
|
||||
self.param_env,
|
||||
pred,
|
||||
|
@ -1752,7 +1752,7 @@ fn compare_const_predicate_entailment<'tcx>(
|
|||
let impl_ty = tcx.type_of(impl_ct_def_id).instantiate_identity();
|
||||
|
||||
let trait_ty = tcx.type_of(trait_ct.def_id).instantiate(tcx, trait_to_impl_args);
|
||||
let code = ObligationCauseCode::CompareImplItemObligation {
|
||||
let code = ObligationCauseCode::CompareImplItem {
|
||||
impl_item_def_id: impl_ct_def_id,
|
||||
trait_item_def_id: trait_ct.def_id,
|
||||
kind: impl_ct.kind,
|
||||
|
@ -1924,7 +1924,7 @@ fn compare_type_predicate_entailment<'tcx>(
|
|||
let cause = ObligationCause::new(
|
||||
span,
|
||||
impl_ty_def_id,
|
||||
ObligationCauseCode::CompareImplItemObligation {
|
||||
ObligationCauseCode::CompareImplItem {
|
||||
impl_item_def_id: impl_ty.def_id.expect_local(),
|
||||
trait_item_def_id: trait_ty.def_id,
|
||||
kind: impl_ty.kind,
|
||||
|
@ -2012,9 +2012,9 @@ pub(super) fn check_type_bounds<'tcx>(
|
|||
);
|
||||
let mk_cause = |span: Span| {
|
||||
let code = if span.is_dummy() {
|
||||
traits::ItemObligation(trait_ty.def_id)
|
||||
ObligationCauseCode::WhereClause(trait_ty.def_id)
|
||||
} else {
|
||||
traits::BindingObligation(trait_ty.def_id, span)
|
||||
ObligationCauseCode::SpannedWhereClause(trait_ty.def_id, span)
|
||||
};
|
||||
ObligationCause::new(impl_ty_span, impl_ty_def_id, code)
|
||||
};
|
||||
|
@ -2251,7 +2251,8 @@ fn try_report_async_mismatch<'tcx>(
|
|||
};
|
||||
|
||||
for error in errors {
|
||||
if let traits::BindingObligation(def_id, _) = *error.root_obligation.cause.code()
|
||||
if let ObligationCauseCode::SpannedWhereClause(def_id, _) =
|
||||
*error.root_obligation.cause.code()
|
||||
&& def_id == async_future_def_id
|
||||
&& let Some(proj) = error.root_obligation.predicate.to_opt_poly_projection_pred()
|
||||
&& let Some(proj) = proj.no_bound_vars()
|
||||
|
|
|
@ -5,6 +5,7 @@ use rustc_data_structures::fx::FxHashSet;
|
|||
use rustc_errors::{codes::*, struct_span_code_err, ErrorGuaranteed};
|
||||
use rustc_infer::infer::outlives::env::OutlivesEnvironment;
|
||||
use rustc_infer::infer::{RegionResolutionError, TyCtxtInferExt};
|
||||
use rustc_infer::traits::ObligationCauseCode;
|
||||
use rustc_middle::ty::util::CheckRegions;
|
||||
use rustc_middle::ty::GenericArgsRef;
|
||||
use rustc_middle::ty::{self, TyCtxt};
|
||||
|
@ -139,7 +140,7 @@ fn ensure_drop_predicates_are_implied_by_item_defn<'tcx>(
|
|||
for (pred, span) in tcx.predicates_of(drop_impl_def_id).instantiate_identity(tcx) {
|
||||
let normalize_cause = traits::ObligationCause::misc(span, adt_def_id);
|
||||
let pred = ocx.normalize(&normalize_cause, param_env, pred);
|
||||
let cause = traits::ObligationCause::new(span, adt_def_id, traits::DropImpl);
|
||||
let cause = traits::ObligationCause::new(span, adt_def_id, ObligationCauseCode::DropImpl);
|
||||
ocx.register_obligation(traits::Obligation::new(tcx, cause, param_env, pred));
|
||||
}
|
||||
|
||||
|
|
|
@ -1136,7 +1136,7 @@ fn check_type_defn<'tcx>(
|
|||
traits::ObligationCause::new(
|
||||
hir_ty.span,
|
||||
wfcx.body_def_id,
|
||||
traits::FieldSized {
|
||||
ObligationCauseCode::FieldSized {
|
||||
adt_kind: match &item.kind {
|
||||
ItemKind::Struct(..) => AdtKind::Struct,
|
||||
ItemKind::Union(..) => AdtKind::Union,
|
||||
|
@ -1161,7 +1161,7 @@ fn check_type_defn<'tcx>(
|
|||
let cause = traits::ObligationCause::new(
|
||||
tcx.def_span(discr_def_id),
|
||||
wfcx.body_def_id,
|
||||
traits::MiscObligation,
|
||||
ObligationCauseCode::Misc,
|
||||
);
|
||||
wfcx.register_obligation(traits::Obligation::new(
|
||||
tcx,
|
||||
|
@ -1278,7 +1278,11 @@ fn check_item_type(
|
|||
wfcx.register_wf_obligation(ty_span, Some(WellFormedLoc::Ty(item_id)), item_ty.into());
|
||||
if forbid_unsized {
|
||||
wfcx.register_bound(
|
||||
traits::ObligationCause::new(ty_span, wfcx.body_def_id, traits::WellFormed(None)),
|
||||
traits::ObligationCause::new(
|
||||
ty_span,
|
||||
wfcx.body_def_id,
|
||||
ObligationCauseCode::WellFormed(None),
|
||||
),
|
||||
wfcx.param_env,
|
||||
item_ty,
|
||||
tcx.require_lang_item(LangItem::Sized, None),
|
||||
|
@ -1293,7 +1297,11 @@ fn check_item_type(
|
|||
|
||||
if should_check_for_sync {
|
||||
wfcx.register_bound(
|
||||
traits::ObligationCause::new(ty_span, wfcx.body_def_id, traits::SharedStatic),
|
||||
traits::ObligationCause::new(
|
||||
ty_span,
|
||||
wfcx.body_def_id,
|
||||
ObligationCauseCode::SharedStatic,
|
||||
),
|
||||
wfcx.param_env,
|
||||
item_ty,
|
||||
tcx.require_lang_item(LangItem::Sync, Some(ty_span)),
|
||||
|
@ -1542,7 +1550,7 @@ fn check_where_clauses<'tcx>(wfcx: &WfCheckingCtxt<'_, 'tcx>, span: Span, def_id
|
|||
let cause = traits::ObligationCause::new(
|
||||
sp,
|
||||
wfcx.body_def_id,
|
||||
traits::ItemObligation(def_id.to_def_id()),
|
||||
ObligationCauseCode::WhereClause(def_id.to_def_id()),
|
||||
);
|
||||
traits::Obligation::new(tcx, cause, wfcx.param_env, pred)
|
||||
});
|
||||
|
@ -1982,7 +1990,11 @@ impl<'tcx> WfCheckingCtxt<'_, 'tcx> {
|
|||
|
||||
let obligation = traits::Obligation::new(
|
||||
tcx,
|
||||
traits::ObligationCause::new(span, self.body_def_id, traits::TrivialBound),
|
||||
traits::ObligationCause::new(
|
||||
span,
|
||||
self.body_def_id,
|
||||
ObligationCauseCode::TrivialBound,
|
||||
),
|
||||
empty_env,
|
||||
pred,
|
||||
);
|
||||
|
|
|
@ -212,7 +212,7 @@ fn get_impl_args(
|
|||
traits::ObligationCause::new(
|
||||
impl1_span,
|
||||
impl1_def_id,
|
||||
traits::ObligationCauseCode::BindingObligation(impl2_node.def_id(), span),
|
||||
traits::ObligationCauseCode::SpannedWhereClause(impl2_node.def_id(), span),
|
||||
)
|
||||
},
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue