Use identifiers in diagnostics more often
This commit is contained in:
parent
f85c6de552
commit
ac1c6c50f4
21 changed files with 83 additions and 72 deletions
|
@ -2362,7 +2362,7 @@ fn try_report_async_mismatch<'tcx>(
|
|||
// the right span is a bit difficult.
|
||||
return Err(tcx.sess.dcx().emit_err(MethodShouldReturnFuture {
|
||||
span: tcx.def_span(impl_m.def_id),
|
||||
method_name: trait_m.name,
|
||||
method_name: tcx.item_ident(impl_m.def_id),
|
||||
trait_item_span: tcx.hir().span_if_local(trait_m.def_id),
|
||||
}));
|
||||
}
|
||||
|
|
|
@ -197,7 +197,7 @@ fn maybe_check_static_with_link_section(tcx: TyCtxt<'_>, id: LocalDefId) {
|
|||
|
||||
fn report_forbidden_specialization(tcx: TyCtxt<'_>, impl_item: DefId, parent_impl: DefId) {
|
||||
let span = tcx.def_span(impl_item);
|
||||
let ident = tcx.item_name(impl_item);
|
||||
let ident = tcx.item_ident(impl_item);
|
||||
|
||||
let err = match tcx.span_of_impl(parent_impl) {
|
||||
Ok(sp) => errors::ImplNotMarkedDefault::Ok { span, ident, ok_label: sp },
|
||||
|
@ -297,7 +297,7 @@ fn default_body_is_unstable(
|
|||
reason: Option<Symbol>,
|
||||
issue: Option<NonZero<u32>>,
|
||||
) {
|
||||
let missing_item_name = tcx.associated_item(item_did).name;
|
||||
let missing_item_name = tcx.item_ident(item_did);
|
||||
let (mut some_note, mut none_note, mut reason_str) = (false, false, String::new());
|
||||
match reason {
|
||||
Some(r) => {
|
||||
|
|
|
@ -292,7 +292,7 @@ fn visit_implementation_of_dispatch_from_dyn(checker: &Checker<'_>) -> Result<()
|
|||
|
||||
res = Err(tcx.dcx().emit_err(errors::DispatchFromDynZST {
|
||||
span,
|
||||
name: field.name,
|
||||
name: field.ident(tcx),
|
||||
ty: ty_a,
|
||||
}));
|
||||
|
||||
|
|
|
@ -465,8 +465,8 @@ fn emit_orphan_check_error<'tcx>(
|
|||
traits::OrphanCheckErr::UncoveredTyParams(UncoveredTyParams { uncovered, local_ty }) => {
|
||||
let mut reported = None;
|
||||
for param_def_id in uncovered {
|
||||
let span = tcx.def_ident_span(param_def_id).unwrap();
|
||||
let name = tcx.item_name(param_def_id);
|
||||
let name = tcx.item_ident(param_def_id);
|
||||
let span = name.span;
|
||||
|
||||
reported.get_or_insert(match local_ty {
|
||||
Some(local_type) => tcx.dcx().emit_err(errors::TyParamFirstLocal {
|
||||
|
@ -492,7 +492,7 @@ fn lint_uncovered_ty_params<'tcx>(
|
|||
|
||||
for param_def_id in uncovered {
|
||||
let span = tcx.def_ident_span(param_def_id).unwrap();
|
||||
let name = tcx.item_name(param_def_id);
|
||||
let name = tcx.item_ident(param_def_id);
|
||||
|
||||
match local_ty {
|
||||
Some(local_type) => tcx.emit_node_span_lint(
|
||||
|
|
|
@ -928,7 +928,7 @@ fn lower_enum_variant_types(tcx: TyCtxt<'_>, def_id: DefId) {
|
|||
tcx.dcx().emit_err(errors::EnumDiscriminantOverflowed {
|
||||
span,
|
||||
discr: prev_discr.unwrap().to_string(),
|
||||
item_name: tcx.item_name(variant.def_id),
|
||||
item_name: tcx.item_ident(variant.def_id),
|
||||
wrapped_discr: wrapped_discr.to_string(),
|
||||
});
|
||||
None
|
||||
|
@ -990,11 +990,10 @@ impl<'tcx> FieldUniquenessCheckContext<'tcx> {
|
|||
}
|
||||
|
||||
/// Check if a given field `ident` declared at `field_decl` has been declared elsewhere before.
|
||||
fn check_field_decl(&mut self, ident: Ident, field_decl: FieldDeclSpan) {
|
||||
fn check_field_decl(&mut self, field_name: Ident, field_decl: FieldDeclSpan) {
|
||||
use FieldDeclSpan::*;
|
||||
let field_name = ident.name;
|
||||
let ident = ident.normalize_to_macros_2_0();
|
||||
match (field_decl, self.seen_fields.get(&ident).copied()) {
|
||||
let field_name = field_name.normalize_to_macros_2_0();
|
||||
match (field_decl, self.seen_fields.get(&field_name).copied()) {
|
||||
(NotNested(span), Some(NotNested(prev_span))) => {
|
||||
self.tcx.dcx().emit_err(errors::FieldAlreadyDeclared::NotNested {
|
||||
field_name,
|
||||
|
@ -1035,7 +1034,7 @@ impl<'tcx> FieldUniquenessCheckContext<'tcx> {
|
|||
});
|
||||
}
|
||||
(field_decl, None) => {
|
||||
self.seen_fields.insert(ident, field_decl);
|
||||
self.seen_fields.insert(field_name, field_decl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ pub(super) fn find_opaque_ty_constraints_for_impl_trait_in_assoc_type(
|
|||
} else {
|
||||
let reported = tcx.dcx().emit_err(UnconstrainedOpaqueType {
|
||||
span: tcx.def_span(def_id),
|
||||
name: tcx.item_name(parent_def_id.to_def_id()),
|
||||
name: tcx.item_ident(parent_def_id.to_def_id()),
|
||||
what: "impl",
|
||||
});
|
||||
Ty::new_error(tcx, reported)
|
||||
|
@ -136,7 +136,7 @@ pub(super) fn find_opaque_ty_constraints_for_tait(tcx: TyCtxt<'_>, def_id: Local
|
|||
}
|
||||
let reported = tcx.dcx().emit_err(UnconstrainedOpaqueType {
|
||||
span: tcx.def_span(def_id),
|
||||
name: tcx.item_name(parent_def_id.to_def_id()),
|
||||
name: tcx.item_ident(parent_def_id.to_def_id()),
|
||||
what: match tcx.hir_node(scope) {
|
||||
_ if scope == hir::CRATE_HIR_ID => "module",
|
||||
Node::Item(hir::Item { kind: hir::ItemKind::Mod(_), .. }) => "module",
|
||||
|
|
|
@ -217,7 +217,7 @@ pub(crate) struct DropImplOnWrongItem {
|
|||
pub(crate) enum FieldAlreadyDeclared {
|
||||
#[diag(hir_analysis_field_already_declared, code = E0124)]
|
||||
NotNested {
|
||||
field_name: Symbol,
|
||||
field_name: Ident,
|
||||
#[primary_span]
|
||||
#[label]
|
||||
span: Span,
|
||||
|
@ -226,7 +226,7 @@ pub(crate) enum FieldAlreadyDeclared {
|
|||
},
|
||||
#[diag(hir_analysis_field_already_declared_current_nested)]
|
||||
CurrentNested {
|
||||
field_name: Symbol,
|
||||
field_name: Ident,
|
||||
#[primary_span]
|
||||
#[label]
|
||||
span: Span,
|
||||
|
@ -239,7 +239,7 @@ pub(crate) enum FieldAlreadyDeclared {
|
|||
},
|
||||
#[diag(hir_analysis_field_already_declared_previous_nested)]
|
||||
PreviousNested {
|
||||
field_name: Symbol,
|
||||
field_name: Ident,
|
||||
#[primary_span]
|
||||
#[label]
|
||||
span: Span,
|
||||
|
@ -252,7 +252,7 @@ pub(crate) enum FieldAlreadyDeclared {
|
|||
},
|
||||
#[diag(hir_analysis_field_already_declared_both_nested)]
|
||||
BothNested {
|
||||
field_name: Symbol,
|
||||
field_name: Ident,
|
||||
#[primary_span]
|
||||
#[label]
|
||||
span: Span,
|
||||
|
@ -418,7 +418,7 @@ pub(crate) struct ValueOfAssociatedStructAlreadySpecified {
|
|||
pub(crate) struct UnconstrainedOpaqueType {
|
||||
#[primary_span]
|
||||
pub span: Span,
|
||||
pub name: Symbol,
|
||||
pub name: Ident,
|
||||
pub what: &'static str,
|
||||
}
|
||||
|
||||
|
@ -802,7 +802,7 @@ pub(crate) struct EnumDiscriminantOverflowed {
|
|||
#[label]
|
||||
pub span: Span,
|
||||
pub discr: String,
|
||||
pub item_name: Symbol,
|
||||
pub item_name: Ident,
|
||||
pub wrapped_discr: String,
|
||||
}
|
||||
|
||||
|
@ -893,7 +893,7 @@ pub(crate) enum ImplNotMarkedDefault {
|
|||
span: Span,
|
||||
#[label(hir_analysis_ok_label)]
|
||||
ok_label: Span,
|
||||
ident: Symbol,
|
||||
ident: Ident,
|
||||
},
|
||||
#[diag(hir_analysis_impl_not_marked_default_err, code = E0520)]
|
||||
#[note]
|
||||
|
@ -901,7 +901,7 @@ pub(crate) enum ImplNotMarkedDefault {
|
|||
#[primary_span]
|
||||
span: Span,
|
||||
cname: Symbol,
|
||||
ident: Symbol,
|
||||
ident: Ident,
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -977,7 +977,7 @@ pub(crate) struct MissingTraitItemUnstable {
|
|||
pub some_note: bool,
|
||||
#[note(hir_analysis_none_note)]
|
||||
pub none_note: bool,
|
||||
pub missing_item_name: Symbol,
|
||||
pub missing_item_name: Ident,
|
||||
pub feature: Symbol,
|
||||
pub reason: String,
|
||||
}
|
||||
|
@ -1249,7 +1249,7 @@ pub(crate) struct InherentNominal {
|
|||
pub(crate) struct DispatchFromDynZST<'a> {
|
||||
#[primary_span]
|
||||
pub span: Span,
|
||||
pub name: Symbol,
|
||||
pub name: Ident,
|
||||
pub ty: Ty<'a>,
|
||||
}
|
||||
|
||||
|
@ -1389,7 +1389,7 @@ pub(crate) struct TyParamFirstLocal<'tcx> {
|
|||
pub span: Span,
|
||||
#[note(hir_analysis_case_note)]
|
||||
pub note: (),
|
||||
pub param: Symbol,
|
||||
pub param: Ident,
|
||||
pub local_type: Ty<'tcx>,
|
||||
}
|
||||
|
||||
|
@ -1401,7 +1401,7 @@ pub(crate) struct TyParamFirstLocalLint<'tcx> {
|
|||
pub span: Span,
|
||||
#[note(hir_analysis_case_note)]
|
||||
pub note: (),
|
||||
pub param: Symbol,
|
||||
pub param: Ident,
|
||||
pub local_type: Ty<'tcx>,
|
||||
}
|
||||
|
||||
|
@ -1414,7 +1414,7 @@ pub(crate) struct TyParamSome {
|
|||
pub span: Span,
|
||||
#[note(hir_analysis_only_note)]
|
||||
pub note: (),
|
||||
pub param: Symbol,
|
||||
pub param: Ident,
|
||||
}
|
||||
|
||||
#[derive(LintDiagnostic)]
|
||||
|
@ -1425,7 +1425,7 @@ pub(crate) struct TyParamSomeLint {
|
|||
pub span: Span,
|
||||
#[note(hir_analysis_only_note)]
|
||||
pub note: (),
|
||||
pub param: Symbol,
|
||||
pub param: Ident,
|
||||
}
|
||||
|
||||
#[derive(Diagnostic)]
|
||||
|
@ -1533,7 +1533,7 @@ pub(crate) struct UnsupportedDelegation<'a> {
|
|||
pub(crate) struct MethodShouldReturnFuture {
|
||||
#[primary_span]
|
||||
pub span: Span,
|
||||
pub method_name: Symbol,
|
||||
pub method_name: Ident,
|
||||
#[note]
|
||||
pub trait_item_span: Option<Span>,
|
||||
}
|
||||
|
@ -1585,7 +1585,7 @@ pub(crate) struct UnconstrainedGenericParameter {
|
|||
#[primary_span]
|
||||
#[label]
|
||||
pub span: Span,
|
||||
pub param_name: Symbol,
|
||||
pub param_name: Ident,
|
||||
pub param_def_kind: &'static str,
|
||||
#[note(hir_analysis_const_param_note)]
|
||||
pub const_param_note: bool,
|
||||
|
|
|
@ -152,7 +152,7 @@ pub(crate) fn enforce_impl_lifetime_params_are_constrained(
|
|||
{
|
||||
let mut diag = tcx.dcx().create_err(UnconstrainedGenericParameter {
|
||||
span: tcx.def_span(param.def_id),
|
||||
param_name: param.name,
|
||||
param_name: tcx.item_ident(param.def_id),
|
||||
param_def_kind: tcx.def_descr(param.def_id),
|
||||
const_param_note: false,
|
||||
const_param_note2: false,
|
||||
|
@ -223,7 +223,7 @@ pub(crate) fn enforce_impl_non_lifetime_params_are_constrained(
|
|||
let const_param_note = matches!(param.kind, ty::GenericParamDefKind::Const { .. });
|
||||
let mut diag = tcx.dcx().create_err(UnconstrainedGenericParameter {
|
||||
span: tcx.def_span(param.def_id),
|
||||
param_name: param.name,
|
||||
param_name: tcx.item_ident(param.def_id),
|
||||
param_def_kind: tcx.def_descr(param.def_id),
|
||||
const_param_note,
|
||||
const_param_note2: const_param_note,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue