diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2024-02-18 00:19:25 -0500 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2024-02-20 10:45:15 +0000 |
commit | 5989e3d614b1919bc9299383bb147cc6a14dec4b (patch) | |
tree | 5ebc45e200149d0f9eed4e2ca557a14af3804722 /gcc | |
parent | f2e19364bca0182a53e2df9e4dddd9e6ba89cc7e (diff) | |
download | gcc-5989e3d614b1919bc9299383bb147cc6a14dec4b.zip gcc-5989e3d614b1919bc9299383bb147cc6a14dec4b.tar.gz gcc-5989e3d614b1919bc9299383bb147cc6a14dec4b.tar.bz2 |
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; } |