From 300336c35cc11c71cb9cdc63ee0b1ff60e66651b Mon Sep 17 00:00:00 2001 From: Jes Cok Date: Fri, 15 Aug 2025 20:43:34 +0800 Subject: [PATCH] cmd/compile/internal/syntax: simplify jumpsOverVarDecl To make it a bit clearer to read. Change-Id: I131941bc1d1918144f67fdcc1d32e6525009f0c0 --- src/cmd/compile/internal/syntax/branches.go | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/cmd/compile/internal/syntax/branches.go b/src/cmd/compile/internal/syntax/branches.go index 8b360176e86a4c..72ddd4295452a7 100644 --- a/src/cmd/compile/internal/syntax/branches.go +++ b/src/cmd/compile/internal/syntax/branches.go @@ -4,7 +4,10 @@ package syntax -import "fmt" +import ( + "fmt" + "slices" +) // checkBranches checks correct use of labels and branch // statements (break, continue, fallthrough, goto) in a function body. @@ -146,14 +149,7 @@ func (ls *labelScope) blockBranches(parent *block, ctxt targets, lstmt *LabeledS } jumpsOverVarDecl := func(fwd *BranchStmt) bool { - if varPos.IsKnown() { - for _, bad := range badGotos { - if fwd == bad { - return true - } - } - } - return false + return varPos.IsKnown() && slices.Contains(badGotos, fwd) } innerBlock := func(ctxt targets, start Pos, body []Stmt) {