rustc_expand: make diagnostic translatable

This commit is contained in:
Xiretza 2024-04-09 20:43:46 +00:00
parent bfacfe2510
commit 3289a9a60d
2 changed files with 8 additions and 4 deletions

View file

@ -10,6 +10,11 @@ expand_attribute_meta_item =
expand_attribute_single_word = expand_attribute_single_word =
attribute must only be a single word attribute must only be a single word
expand_attributes_on_expressions_experimental =
attributes on expressions are experimental
.help_outer_doc = `///` is used for outer documentation comments; for a plain comment, use `//`
.help_inner_doc = `//!` is used for inner documentation comments; for a plain comment, use `//` by removing the `!` or inserting a space in between them: `// !`
expand_attributes_wrong_form = expand_attributes_wrong_form =
attribute must be of form: `attributes(foo, bar)` attribute must be of form: `attributes(foo, bar)`

View file

@ -373,7 +373,6 @@ impl<'a> StripUnconfigured<'a> {
} }
/// If attributes are not allowed on expressions, emit an error for `attr` /// If attributes are not allowed on expressions, emit an error for `attr`
#[allow(rustc::untranslatable_diagnostic)] // FIXME: make this translatable
#[instrument(level = "trace", skip(self))] #[instrument(level = "trace", skip(self))]
pub(crate) fn maybe_emit_expr_attr_err(&self, attr: &Attribute) { pub(crate) fn maybe_emit_expr_attr_err(&self, attr: &Attribute) {
if self.features.is_some_and(|features| !features.stmt_expr_attributes) if self.features.is_some_and(|features| !features.stmt_expr_attributes)
@ -383,14 +382,14 @@ impl<'a> StripUnconfigured<'a> {
&self.sess, &self.sess,
sym::stmt_expr_attributes, sym::stmt_expr_attributes,
attr.span, attr.span,
"attributes on expressions are experimental", crate::fluent_generated::expand_attributes_on_expressions_experimental,
); );
if attr.is_doc_comment() { if attr.is_doc_comment() {
err.help(if attr.style == AttrStyle::Outer { err.help(if attr.style == AttrStyle::Outer {
"`///` is used for outer documentation comments; for a plain comment, use `//`" crate::fluent_generated::expand_help_outer_doc
} else { } else {
"`//!` is used for inner documentation comments; for a plain comment, use `//` by removing the `!` or inserting a space in between them: `// !`" crate::fluent_generated::expand_help_inner_doc
}); });
} }