all: fix mapsloop

Change-Id: I9841a5c30af333fd07ce5f9d8252e2ff79ee0dc9
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/753424
kokoro-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Ethan Lee <ethanalee@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/internal/auth/auth.go b/internal/auth/auth.go
index caa97ab..2eb1bac 100644
--- a/internal/auth/auth.go
+++ b/internal/auth/auth.go
@@ -8,6 +8,7 @@
 import (
 	"context"
 	"fmt"
+	"maps"
 	"net/http"
 
 	"golang.org/x/pkgsite/internal/derrors"
@@ -89,9 +90,7 @@
 	// Copy req and its headers.
 	newReq := *req
 	newReq.Header = make(http.Header)
-	for k, v := range req.Header {
-		newReq.Header[k] = v
-	}
+	maps.Copy(newReq.Header, req.Header)
 	// Add or overwrite our headers.
 	for h, v := range t.Headers {
 		newReq.Header.Set(h, v)
diff --git a/internal/fetch/load.go b/internal/fetch/load.go
index 82667f9..bde5469 100644
--- a/internal/fetch/load.go
+++ b/internal/fetch/load.go
@@ -16,6 +16,7 @@
 	"go/token"
 	"io"
 	"io/fs"
+	"maps"
 	"net/http"
 	"os"
 	"path"
@@ -447,9 +448,7 @@
 
 	// Copy the input map so we don't modify it.
 	matchedFiles = map[string][]byte{}
-	for n, c := range allFiles {
-		matchedFiles[n] = c
-	}
+	maps.Copy(matchedFiles, allFiles)
 	for name := range allFiles {
 		match, err := bctx.MatchFile(".", name) // This will access the file we just added to files map above.
 		if err != nil {
diff --git a/internal/log/stackdriverlogger/log.go b/internal/log/stackdriverlogger/log.go
index 0238070..5de8653 100644
--- a/internal/log/stackdriverlogger/log.go
+++ b/internal/log/stackdriverlogger/log.go
@@ -11,6 +11,7 @@
 	"errors"
 	"fmt"
 	stdlog "log"
+	"maps"
 	"os"
 	"strings"
 	"sync"
@@ -41,9 +42,7 @@
 	oldLabels, _ := ctx.Value(labelsKey{}).(map[string]string)
 	// Copy the labels, to preserve immutability of contexts.
 	newLabels := map[string]string{}
-	for k, v := range oldLabels {
-		newLabels[k] = v
-	}
+	maps.Copy(newLabels, oldLabels)
 	newLabels[key] = value
 	return context.WithValue(ctx, labelsKey{}, newLabels)
 }
@@ -86,9 +85,7 @@
 	es := experimentString(ctx)
 	if len(es) > 0 {
 		nl := map[string]string{}
-		for k, v := range labels {
-			nl[k] = v
-		}
+		maps.Copy(nl, labels)
 		nl["experiments"] = es
 		labels = nl
 	}
diff --git a/internal/proxy/proxytest/module.go b/internal/proxy/proxytest/module.go
index 7352e61..f38bca5 100644
--- a/internal/proxy/proxytest/module.go
+++ b/internal/proxy/proxytest/module.go
@@ -7,6 +7,7 @@
 
 import (
 	"fmt"
+	"maps"
 	"strings"
 )
 
@@ -69,9 +70,7 @@
 	m2 := *m
 	if m.Files != nil {
 		m2.Files = map[string]string{}
-		for k, v := range m.Files {
-			m2.Files[k] = v
-		}
+		maps.Copy(m2.Files, m.Files)
 	}
 	if contents == nil {
 		delete(m2.Files, filename)
diff --git a/internal/symbol/generate.go b/internal/symbol/generate.go
index 71e0e5f..cd150a5 100644
--- a/internal/symbol/generate.go
+++ b/internal/symbol/generate.go
@@ -14,6 +14,7 @@
 	"go/types"
 	"io"
 	"log"
+	"maps"
 	"os"
 	"os/exec"
 	"path/filepath"
@@ -264,9 +265,7 @@
 			if len(pkg.ImportMap) > 0 {
 				importMap[pkg.Dir] = make(map[string]string, len(pkg.ImportMap))
 			}
-			for k, v := range pkg.ImportMap {
-				importMap[pkg.Dir][k] = v
-			}
+			maps.Copy(importMap[pkg.Dir], pkg.ImportMap)
 		}
 		sort.Strings(packages)
 		imports = listImports{