Skip to content

Commit

Permalink
make "expected paren or brace" error translatable
Browse files Browse the repository at this point in the history
  • Loading branch information
tshepang committed Mar 20, 2024
1 parent b7dcabe commit 3e8ff90
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 3 deletions.
3 changes: 3 additions & 0 deletions compiler/rustc_expand/messages.ftl
Expand Up @@ -33,6 +33,9 @@ expand_duplicate_matcher_binding = duplicate matcher binding
expand_expected_comma_in_list =
expected token: `,`
expand_expected_paren_or_brace =
expected `(` or `{"{"}`, found `{$token}`
expand_explain_doc_comment_inner =
inner doc comments expand to `#![doc = "..."]`, which is what this macro attempted to match
Expand Down
8 changes: 8 additions & 0 deletions compiler/rustc_expand/src/errors.rs
Expand Up @@ -448,3 +448,11 @@ pub struct InvalidFragmentSpecifier {
pub fragment: Ident,
pub help: String,
}

#[derive(Diagnostic)]
#[diag(expand_expected_paren_or_brace)]
pub struct ExpectedParenOrBrace<'a> {
#[primary_span]
pub span: Span,
pub token: Cow<'a, str>,
}
8 changes: 5 additions & 3 deletions compiler/rustc_expand/src/mbe/quoted.rs
Expand Up @@ -194,9 +194,11 @@ fn parse_tree<'a>(
}
Delimiter::Parenthesis => {}
_ => {
let tok = pprust::token_kind_to_string(&token::OpenDelim(delim));
let msg = format!("expected `(` or `{{`, found `{tok}`");
sess.dcx().span_err(delim_span.entire(), msg);
let token = pprust::token_kind_to_string(&token::OpenDelim(delim));
sess.dcx().emit_err(errors::ExpectedParenOrBrace {
span: delim_span.entire(),
token,
});
}
}
}
Expand Down

0 comments on commit 3e8ff90

Please sign in to comment.