about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/errors.rs
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-04-23 12:10:26 +0200
committerGitHub <noreply@github.com>2024-04-23 12:10:26 +0200
commit57dad1d75e562ff73051c1c43b07eaf65c7dbd74 (patch)
tree3d2b11b07ce320566e8160c45635b3c67721d9b7 /compiler/rustc_parse/src/errors.rs
parent36316df9fe6c3e246153fe6e78967643cf08c148 (diff)
parent5af861cf7b4a87857ca6aa9dab2ad277ea8c059b (diff)
downloadrust-57dad1d75e562ff73051c1c43b07eaf65c7dbd74.tar.gz
rust-57dad1d75e562ff73051c1c43b07eaf65c7dbd74.zip
Rollup merge of #124099 - voidc:disallow-ambiguous-expr-attrs, r=davidtwco
Disallow ambiguous attributes on expressions

This implements the suggestion in [#15701](https://github.com/rust-lang/rust/issues/15701#issuecomment-2033124217) to disallow ambiguous outer attributes on expressions. This should resolve one of the concerns blocking the stabilization of `stmt_expr_attributes`.
Diffstat (limited to 'compiler/rustc_parse/src/errors.rs')
-rw-r--r--compiler/rustc_parse/src/errors.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/rustc_parse/src/errors.rs b/compiler/rustc_parse/src/errors.rs
index ca8de4240f4..b77045ee34e 100644
--- a/compiler/rustc_parse/src/errors.rs
+++ b/compiler/rustc_parse/src/errors.rs
@@ -496,6 +496,15 @@ pub(crate) struct OuterAttributeNotAllowedOnIfElse {
 }
 
 #[derive(Diagnostic)]
+#[diag(parse_outer_attr_ambiguous)]
+pub(crate) struct AmbiguousOuterAttributes {
+    #[primary_span]
+    pub span: Span,
+    #[subdiagnostic]
+    pub sugg: WrapInParentheses,
+}
+
+#[derive(Diagnostic)]
 #[diag(parse_missing_in_in_for_loop)]
 pub(crate) struct MissingInInForLoop {
     #[primary_span]