move AmbigousPlus outside

This commit is contained in:
Christian Poveda 2022-04-26 11:12:48 +02:00
parent 35b42cb9ec
commit 6c3e793fb3
No known key found for this signature in database
GPG Key ID: 27525EF5E7420A50

View File

@ -242,6 +242,16 @@ fn emit_many<G: EmissionGuarantee>(
err.multipart_suggestions(msg, suggestions.map(|s| s.patches), applicability);
}
}
#[derive(SessionDiagnostic)]
#[error(slug = "parser-maybe-report-ambiguous-plus")]
struct AmbiguousPlus {
pub sum_with_parens: String,
#[primary_span]
#[suggestion(code = "({sum_with_parens})")]
pub span: Span,
}
// SnapshotParser is used to create a snapshot of the parser
// without causing duplicate errors being emitted when the `Parser`
// is dropped.
@ -1171,15 +1181,6 @@ pub(super) fn maybe_report_ambiguous_plus(
impl_dyn_multi: bool,
ty: &Ty,
) {
#[derive(SessionDiagnostic)]
#[error(slug = "parser-maybe-report-ambiguous-plus")]
struct AmbiguousPlus {
pub sum_with_parens: String,
#[primary_span]
#[suggestion(code = "({sum_with_parens})")]
pub span: Span,
}
if matches!(allow_plus, AllowPlus::No) && impl_dyn_multi {
self.sess.emit_err(AmbiguousPlus {
sum_with_parens: pprust::ty_to_string(&ty),