]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/asm/internal: use slices.Contains
authorTobias Klauser <tklauser@distanz.ch>
Thu, 5 Sep 2024 09:17:41 +0000 (11:17 +0200)
committerGopher Robot <gobot@golang.org>
Fri, 6 Sep 2024 13:17:27 +0000 (13:17 +0000)
Now that Go 1.22.6 is the minimum bootstrap toolchain (cf. CL 606156),
the slices package (introduced in Go 1.21) can be used in packages built
using the bootstrap toolchain.

For #64751

Change-Id: I0115213da4b1f0a1fa0ef7ad34456fbf52e00fae
Reviewed-on: https://go-review.googlesource.com/c/go/+/611095
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

src/cmd/asm/internal/lex/input.go

index da4ebe6d6e3447fa5a672863b68e459b720646ec..789e229a77991691d4e03e32ab670480ce909a4d 100644 (file)
@@ -8,6 +8,7 @@ import (
        "fmt"
        "os"
        "path/filepath"
+       "slices"
        "strconv"
        "strings"
        "text/scanner"
@@ -252,7 +253,7 @@ func (in *Input) macroDefinition(name string) ([]string, []Token) {
                                        in.Error("bad syntax in definition for macro:", name)
                                }
                                arg := in.Stack.Text()
-                               if i := lookup(args, arg); i >= 0 {
+                               if slices.Contains(args, arg) {
                                        in.Error("duplicate argument", arg, "in definition for macro:", name)
                                }
                                args = append(args, arg)
@@ -280,15 +281,6 @@ func (in *Input) macroDefinition(name string) ([]string, []Token) {
        return args, tokens
 }
 
-func lookup(args []string, arg string) int {
-       for i, a := range args {
-               if a == arg {
-                       return i
-               }
-       }
-       return -1
-}
-
 // invokeMacro pushes onto the input Stack a Slice that holds the macro definition with the actual
 // parameters substituted for the formals.
 // Invoking a macro does not touch the PC/line history.