]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: [E0658] top level or-patterns are not allowed let binding
authorMuhammad Mahad <mahadtxt@gmail.com>
Fri, 18 Aug 2023 12:06:02 +0000 (17:06 +0500)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 18:04:30 +0000 (19:04 +0100)
gcc/rust/ChangeLog:

* hir/rust-ast-lower-pattern.cc (ASTLoweringPattern::visit):
Added richlocation & error code.

gcc/testsuite/ChangeLog:

* rust/compile/let_alt.rs: Updated comment.

Signed-off-by: Muhammad Mahad <mahadtxt@gmail.com>
gcc/rust/hir/rust-ast-lower-pattern.cc
gcc/testsuite/rust/compile/let_alt.rs

index 37f0015764166c76f4f2ad269307e1f95ad4e542..bfb7b71cef21b656c73480d87b8b8ff01bbb9b0a 100644 (file)
@@ -333,9 +333,12 @@ ASTLoweringPattern::visit (AST::AltPattern &pattern)
     = new HIR::AltPattern (mapping, std::move (alts), pattern.get_locus ());
 
   if (is_let_top_level)
-    rust_error_at (pattern.get_locus (),
-                  "top level alternate patterns are not allowed for %<let%> "
-                  "bindings - use an outer grouped pattern");
+    {
+      rich_location richloc (line_table, pattern.get_locus ());
+      richloc.add_fixit_replace ("use an outer grouped pattern");
+      rust_error_at (
+       richloc, "top level or-patterns are not allowed for %<let%> bindings");
+    }
 }
 
 } // namespace HIR
index 1284627bb7297f8dcc74dc6b1387e3b71191137e..a2735bdbe77030b39dc1d6f6ad3701bc4dcc05f0 100644 (file)
@@ -1,4 +1,4 @@
 fn main() {
     let _a | _a = 12;
-    // { dg-error "top level alternate patterns are not allowed" "" { target *-*-* } .-1 }
+    // { dg-error "top level or-patterns are not allowed for .let. bindings" "" { target *-*-* } .-1 }
 }