diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2024-02-18 00:19:25 -0500 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-08-01 12:47:18 +0200 |
commit | 8319fa7847d90c87fe6a4e78b1079d13dbe05d62 (patch) | |
tree | 49f8d751d78edd19e4dffe9b3aed5b2edec1e753 /gcc | |
parent | 5f9e88211c6ad939cfec017a66e663d686c9c3ab (diff) | |
download | gcc-8319fa7847d90c87fe6a4e78b1079d13dbe05d62.zip gcc-8319fa7847d90c87fe6a4e78b1079d13dbe05d62.tar.gz gcc-8319fa7847d90c87fe6a4e78b1079d13dbe05d62.tar.bz2 |
gccrs: Fix false positive for top-level AltPattern
gcc/rust/ChangeLog:
* hir/rust-ast-lower-pattern.cc
(ASTLoweringPattern::visit):
Reset is_let_top_level while visiting GroupedPattern.
gcc/testsuite/ChangeLog:
* rust/compile/let_alt.rs: Check for false positive.
Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/hir/rust-ast-lower-pattern.cc | 1 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/let_alt.rs | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/gcc/rust/hir/rust-ast-lower-pattern.cc b/gcc/rust/hir/rust-ast-lower-pattern.cc index a222848..d534b82 100644 --- a/gcc/rust/hir/rust-ast-lower-pattern.cc +++ b/gcc/rust/hir/rust-ast-lower-pattern.cc @@ -276,6 +276,7 @@ ASTLoweringPattern::visit (AST::RangePattern &pattern) void ASTLoweringPattern::visit (AST::GroupedPattern &pattern) { + is_let_top_level = false; pattern.get_pattern_in_parens ()->accept_vis (*this); } diff --git a/gcc/testsuite/rust/compile/let_alt.rs b/gcc/testsuite/rust/compile/let_alt.rs index a2735bd..ff16e64 100644 --- a/gcc/testsuite/rust/compile/let_alt.rs +++ b/gcc/testsuite/rust/compile/let_alt.rs @@ -1,4 +1,5 @@ fn main() { let _a | _a = 12; // { dg-error "top level or-patterns are not allowed for .let. bindings" "" { target *-*-* } .-1 } + let (_b | _b) = 12; } |