From 55730141eef931aa31c19b5e93b2f1fc27478193 Mon Sep 17 00:00:00 2001 From: Eng Zer Jun Date: Wed, 22 Jan 2025 18:31:32 +0800 Subject: [PATCH] Replace `golang.org/x/exp` with stdlib The experimental functions in `golang.org/x/exp` are now available in the standard library in Go 1.21. Reference: https://go.dev/doc/go1.21#slices Reference: https://go.dev/doc/go1.21#cmp Signed-off-by: Eng Zer Jun --- go.mod | 2 +- private/buf/bufwkt/cmd/wkt-go-data/main.go | 5 ++--- .../bufimage/bufimagemodify/internal/field_options_trie.go | 3 +-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 7842e8b022..6e8cb60c14 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,6 @@ require ( go.uber.org/zap v1.27.0 go.uber.org/zap/exp v0.3.0 golang.org/x/crypto v0.32.0 - golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 golang.org/x/mod v0.22.0 golang.org/x/net v0.34.0 golang.org/x/sync v0.10.0 @@ -122,6 +121,7 @@ require ( go.opentelemetry.io/otel/trace v1.34.0 // indirect go.uber.org/mock v0.5.0 // indirect go.uber.org/multierr v1.11.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250124145028-65684f501c47 // indirect diff --git a/private/buf/bufwkt/cmd/wkt-go-data/main.go b/private/buf/bufwkt/cmd/wkt-go-data/main.go index 98bb2e01a8..39f5098bc9 100644 --- a/private/buf/bufwkt/cmd/wkt-go-data/main.go +++ b/private/buf/bufwkt/cmd/wkt-go-data/main.go @@ -16,6 +16,7 @@ package main import ( "bytes" + "cmp" "context" "errors" "fmt" @@ -25,8 +26,6 @@ import ( "sort" "strings" - "golang.org/x/exp/constraints" - "github.com/bufbuild/buf/private/bufpkg/bufanalysis" "github.com/bufbuild/buf/private/bufpkg/bufimage" "github.com/bufbuild/buf/private/bufpkg/bufmodule" @@ -400,7 +399,7 @@ type keyValPair[K any, V any] struct { val V } -func sortedPairs[K constraints.Ordered, V any](m map[K]V) []keyValPair[K, V] { +func sortedPairs[K cmp.Ordered, V any](m map[K]V) []keyValPair[K, V] { ret := make([]keyValPair[K, V], 0, len(m)) for key := range m { ret = append(ret, keyValPair[K, V]{key: key, val: m[key]}) diff --git a/private/bufpkg/bufimage/bufimagemodify/internal/field_options_trie.go b/private/bufpkg/bufimage/bufimagemodify/internal/field_options_trie.go index da408505dd..ebce8b491c 100644 --- a/private/bufpkg/bufimage/bufimagemodify/internal/field_options_trie.go +++ b/private/bufpkg/bufimage/bufimagemodify/internal/field_options_trie.go @@ -15,9 +15,8 @@ package internal import ( + "slices" "sort" - - "golang.org/x/exp/slices" ) // fieldOptionsTrie stores paths to FieldOptions (tag 8 of a FieldDescriptorProto).