Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

benchmark: PR 4836 (staticcheck) #8

Closed
ldez opened this issue Jun 21, 2024 · 4 comments
Closed

benchmark: PR 4836 (staticcheck) #8

ldez opened this issue Jun 21, 2024 · 4 comments

Comments

@ldez
Copy link
Owner

ldez commented Jun 21, 2024

{
"pr": 4836,
"linter": "staticcheck",
"version": "v1.59.1"
}

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

Copy link

github-actions bot commented Jul 3, 2024

The benchmark is done!

beego/beego

local
server/web/router_test.go:756:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Errorf(w.Body.String())
		^
server/web/router_test.go:1024:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Errorf(fmt.Sprintf("TestRouterAddRouterMethodPanicInvalidMethod failed: %v", err))
		^
server/web/router_test.go:1042:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Errorf(fmt.Sprintf("TestRouterAddRouterMethodPanicNotAMethod failed: %v", err))
		^
server/web/router_test.go:1060:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Errorf(fmt.Sprintf("TestRouterAddRouterMethodPanicNotPublicMethod failed: %v", err))
		^
server/web/router_test.go:1078:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Errorf(fmt.Sprintf("TestRouterAddRouterMethodPanicNotImplementInterface failed: %v", err))
		^
server/web/router_test.go:1096:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Errorf(fmt.Sprintf("TestRouterAddRouterPointerMethodPanicNotImplementInterface failed: %v", err))
		^
server/web/statistics_test.go:36:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Errorf(err.Error())
		^
client/orm/do_nothing_orm_test.go:25:30: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	err := o.DoTxWithCtxAndOpts(nil, nil, nil)
	                            ^
client/orm/do_nothing_orm_test.go:28:22: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	err = o.DoTxWithCtx(nil, nil)
	                    ^
client/orm/do_nothing_orm_test.go:40:30: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	assert.Nil(t, o.ReadWithCtx(nil, nil))
	                            ^
client/orm/do_nothing_orm_test.go:43:38: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	txOrm, err := o.BeginWithCtxAndOpts(nil, nil)
	                                    ^
client/orm/do_nothing_orm_test.go:47:30: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	txOrm, err = o.BeginWithCtx(nil)
	                            ^
client/orm/do_nothing_orm_test.go:59:29: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	assert.Nil(t, o.RawWithCtx(nil, ""))
	                           ^
client/orm/do_nothing_orm_test.go:70:27: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	i, err = o.InsertWithCtx(nil, nil)
	                         ^
client/orm/do_nothing_orm_test.go:74:35: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	i, err = o.InsertOrUpdateWithCtx(nil, nil)
	                                 ^
client/orm/do_nothing_orm_test.go:82:32: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	i, err = o.InsertMultiWithCtx(nil, 0, nil)
	                              ^
client/orm/do_nothing_orm_test.go:86:32: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	i, err = o.LoadRelatedWithCtx(nil, nil, "")
	                              ^
client/httplib/mock/mock_test.go:70:9: SA1019: httplib.Get("http://localhost:7777/abc").DoRequestWithCtx is deprecated: please use NewBeegoRequestWithContext (staticcheck)
	return httplib.Get("http://localhost:7777/abc").DoRequestWithCtx(ctx)
	       ^
client/httplib/httpclient_test.go:231:31: SA1026: trying to marshal unsupported type func() (io.ReadCloser, error), via x.Resp.Request.GetBody (staticcheck)
	jsonStr, err := json.Marshal(input)
	                             ^
client/httplib/httpclient_test.go:259:31: SA1026: trying to marshal unsupported type func() (io.ReadCloser, error), via x.Resp.Request.GetBody (staticcheck)
	jsonStr, err := json.Marshal(input)
	                             ^
client/httplib/httpclient_test.go:124:27: SA1026: trying to marshal unsupported type func() (io.ReadCloser, error), via x.Resp.Request.GetBody (staticcheck)
		data, _ := json.Marshal(ssr)
		                        ^
core/config/etcd/config_test.go:114:25: SA1026: trying to marshal unsupported type func() time.Time, via x.TLS.Time (staticcheck)
	cfg, _ := json.Marshal(obj)
	                       ^
server/web/admin_controller.go:58:33: SA1026: trying to marshal unsupported type map[interface{}]interface{} (staticcheck)
		dataJSON, err := json.Marshal(data)
		                              ^
server/web/config_test.go:53:24: SA1026: trying to marshal unsupported type func(*github.com/beego/beego/v2/server/web/context.Context, *Config), via x.RecoverFunc (staticcheck)
	bs, _ := json.Marshal(newBConfig())
	                      ^
client/httplib/mock/mock.go:48:32: SA1029: should not use built-in type string as key for value; define your own type to avoid collisions (staticcheck)
	return context.WithValue(ctx, mockCtxKey, mock)
	                              ^
client/orm/filter_orm_decorator_test.go:81:49: SA1029: should not use built-in type string as key for value; define your own type to avoid collisions (staticcheck)
	ctx := context.WithValue(context.Background(), TxNameKey, "Commit_tx")
	                                               ^
client/orm/filter_orm_decorator_test.go:89:48: SA1029: should not use built-in type string as key for value; define your own type to avoid collisions (staticcheck)
	ctx = context.WithValue(context.Background(), TxNameKey, "Rollback_tx")
	                                              ^
client/orm/filter_orm_decorator_test.go:170:49: SA1029: should not use built-in type string as key for value; define your own type to avoid collisions (staticcheck)
	ctx := context.WithValue(context.Background(), TxNameKey, "do tx name")
	                                               ^
client/httplib/httplib_test.go:283:2: SA4006: this value of `err` is never used (staticcheck)
	b, err := os.ReadFile(f)
	^
server/web/controller.go:676:27: SA6002: argument should be pointer-like to avoid allocations (staticcheck)
	defer copyBufferPool.Put(buf)
	                         ^
core/validation/util_test.go:94:2: SA9003: empty branch (staticcheck)
	if err != nil {
	^
v1.59.1
client/httplib/mock/mock.go:48:32: SA1029: should not use built-in type string as key for value; define your own type to avoid collisions (staticcheck)
	return context.WithValue(ctx, mockCtxKey, mock)
	                              ^
client/orm/filter_orm_decorator_test.go:81:49: SA1029: should not use built-in type string as key for value; define your own type to avoid collisions (staticcheck)
	ctx := context.WithValue(context.Background(), TxNameKey, "Commit_tx")
	                                               ^
client/orm/filter_orm_decorator_test.go:89:48: SA1029: should not use built-in type string as key for value; define your own type to avoid collisions (staticcheck)
	ctx = context.WithValue(context.Background(), TxNameKey, "Rollback_tx")
	                                              ^
client/orm/filter_orm_decorator_test.go:170:49: SA1029: should not use built-in type string as key for value; define your own type to avoid collisions (staticcheck)
	ctx := context.WithValue(context.Background(), TxNameKey, "do tx name")
	                                               ^
client/httplib/httplib_test.go:283:2: SA4006: this value of `err` is never used (staticcheck)
	b, err := os.ReadFile(f)
	^
server/web/controller.go:676:27: SA6002: argument should be pointer-like to avoid allocations (staticcheck)
	defer copyBufferPool.Put(buf)
	                         ^
client/httplib/httpclient_test.go:231:31: SA1026: trying to marshal unsupported type func() (io.ReadCloser, error), via x.Resp.Request.GetBody (staticcheck)
	jsonStr, err := json.Marshal(input)
	                             ^
client/httplib/httpclient_test.go:259:31: SA1026: trying to marshal unsupported type func() (io.ReadCloser, error), via x.Resp.Request.GetBody (staticcheck)
	jsonStr, err := json.Marshal(input)
	                             ^
client/httplib/httpclient_test.go:124:27: SA1026: trying to marshal unsupported type func() (io.ReadCloser, error), via x.Resp.Request.GetBody (staticcheck)
		data, _ := json.Marshal(ssr)
		                        ^
core/config/etcd/config_test.go:114:25: SA1026: trying to marshal unsupported type func() time.Time, via x.TLS.Time (staticcheck)
	cfg, _ := json.Marshal(obj)
	                       ^
server/web/admin_controller.go:58:33: SA1026: trying to marshal unsupported type map[interface{}]interface{} (staticcheck)
		dataJSON, err := json.Marshal(data)
		                              ^
server/web/config_test.go:53:24: SA1026: trying to marshal unsupported type func(*github.com/beego/beego/v2/server/web/context.Context, *Config), via x.RecoverFunc (staticcheck)
	bs, _ := json.Marshal(newBConfig())
	                      ^
client/httplib/mock/mock_test.go:70:9: SA1019: httplib.Get("http://localhost:7777/abc").DoRequestWithCtx is deprecated: please use NewBeegoRequestWithContext (staticcheck)
	return httplib.Get("http://localhost:7777/abc").DoRequestWithCtx(ctx)
	       ^
core/utils/rand.go:33:3: SA1019: r.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator. (staticcheck)
		r.Seed(time.Now().UnixNano())
		^
core/utils/slice.go:53:2: SA1019: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator. (staticcheck)
	rand.Seed(int64(t0.Nanosecond()))
	^
server/web/context/context.go:385:33: SA1019: http.CloseNotifier has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: the CloseNotifier interface predates Go's context package. New code should use [Request.Context] instead. (staticcheck)
	if cn, ok := r.ResponseWriter.(http.CloseNotifier); ok {
	                               ^
server/web/filter/cors/cors_test.go:68:5: SA1019: recorder.HeaderMap has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: HeaderMap exists for historical compatibility and should not be used. To access the headers returned by a handler, use the Response.Header map as returned by the Result method. (staticcheck)
	if recorder.HeaderMap.Get(headerAllowOrigin) != "*" {
	   ^
server/web/filter/cors/cors_test.go:87:17: SA1019: recorder.HeaderMap has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: HeaderMap exists for historical compatibility and should not be used. To access the headers returned by a handler, use the Response.Header map as returned by the Result method. (staticcheck)
	headerValue := recorder.HeaderMap.Get(headerAllowOrigin)
	               ^
server/web/filter/cors/cors_test.go:107:17: SA1019: recorder.HeaderMap has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: HeaderMap exists for historical compatibility and should not be used. To access the headers returned by a handler, use the Response.Header map as returned by the Result method. (staticcheck)
	headerValue := recorder.HeaderMap.Get(headerAllowOrigin)
	               ^
server/web/filter/cors/cors_test.go:130:20: SA1019: recorder.HeaderMap has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: HeaderMap exists for historical compatibility and should not be used. To access the headers returned by a handler, use the Response.Header map as returned by the Result method. (staticcheck)
	credentialsVal := recorder.HeaderMap.Get(headerAllowCredentials)
	                  ^
server/web/filter/cors/cors_test.go:131:16: SA1019: recorder.HeaderMap has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: HeaderMap exists for historical compatibility and should not be used. To access the headers returned by a handler, use the Response.Header map as returned by the Result method. (staticcheck)
	methodsVal := recorder.HeaderMap.Get(headerAllowMethods)
	              ^
server/web/filter/cors/cors_test.go:132:16: SA1019: recorder.HeaderMap has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: HeaderMap exists for historical compatibility and should not be used. To access the headers returned by a handler, use the Response.Header map as returned by the Result method. (staticcheck)
	headersVal := recorder.HeaderMap.Get(headerAllowHeaders)
	              ^
server/web/filter/cors/cors_test.go:133:23: SA1019: recorder.HeaderMap has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: HeaderMap exists for historical compatibility and should not be used. To access the headers returned by a handler, use the Response.Header map as returned by the Result method. (staticcheck)
	exposedHeadersVal := recorder.HeaderMap.Get(headerExposeHeaders)
	                     ^
server/web/filter/cors/cors_test.go:134:15: SA1019: recorder.HeaderMap has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: HeaderMap exists for historical compatibility and should not be used. To access the headers returned by a handler, use the Response.Header map as returned by the Result method. (staticcheck)
	maxAgeVal := recorder.HeaderMap.Get(headerMaxAge)
	             ^
server/web/filter/cors/cors_test.go:170:16: SA1019: recorder.HeaderMap has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: HeaderMap exists for historical compatibility and should not be used. To access the headers returned by a handler, use the Response.Header map as returned by the Result method. (staticcheck)
	headersVal := recorder.HeaderMap.Get(headerAllowHeaders)
	              ^
client/orm/do_nothing_orm_test.go:25:30: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	err := o.DoTxWithCtxAndOpts(nil, nil, nil)
	                            ^
client/orm/do_nothing_orm_test.go:28:22: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	err = o.DoTxWithCtx(nil, nil)
	                    ^
client/orm/do_nothing_orm_test.go:40:30: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	assert.Nil(t, o.ReadWithCtx(nil, nil))
	                            ^
client/orm/do_nothing_orm_test.go:43:38: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	txOrm, err := o.BeginWithCtxAndOpts(nil, nil)
	                                    ^
client/orm/do_nothing_orm_test.go:47:30: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	txOrm, err = o.BeginWithCtx(nil)
	                            ^
client/orm/do_nothing_orm_test.go:59:29: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	assert.Nil(t, o.RawWithCtx(nil, ""))
	                           ^
client/orm/do_nothing_orm_test.go:70:27: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	i, err = o.InsertWithCtx(nil, nil)
	                         ^
client/orm/do_nothing_orm_test.go:74:35: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	i, err = o.InsertOrUpdateWithCtx(nil, nil)
	                                 ^
client/orm/do_nothing_orm_test.go:82:32: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	i, err = o.InsertMultiWithCtx(nil, 0, nil)
	                              ^
client/orm/do_nothing_orm_test.go:86:32: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck)
	i, err = o.LoadRelatedWithCtx(nil, nil, "")
	                              ^
core/validation/util_test.go:94:2: SA9003: empty branch (staticcheck)
	if err != nil {
	^
Command Mean [s] Min [s] Max [s] Relative
local 10.518 ± 0.095 10.379 10.714 1.03 ± 0.01
v1.59.1 10.224 ± 0.064 10.102 10.322 1.00

cilium/cilium

local
operator/cmd/flags.go:138:11: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
			return fmt.Errorf(errMsg)
			       ^
pkg/alibabacloud/eni/node.go:99:38: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return 0, unableToDetermineLimits, fmt.Errorf(errUnableToDetermineLimits)
		                                   ^
pkg/alibabacloud/eni/node.go:254:15: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return nil, fmt.Errorf(errUnableToDetermineLimits)
		            ^
pkg/aws/eni/node.go:210:15: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return nil, fmt.Errorf(errUnableToDetermineLimits)
		            ^
pkg/aws/eni/node.go:408:38: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return 0, unableToDetermineLimits, fmt.Errorf(errUnableToDetermineLimits)
		                                   ^
pkg/bgp/manager/manager_test.go:89:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(cmp.Diff(rr.name, serviceID.String()))
		^
pkg/bgp/manager/manager_test.go:95:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(cmp.Diff(rr.eps, serviceID))
		^
pkg/bgp/manager/manager_test.go:157:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(cmp.Diff(rr.name, serviceID.String()))
		^
pkg/bgp/manager/manager_test.go:160:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(cmp.Diff(rr.srvRo, &v1Service))
		^
pkg/bgp/manager/manager_test.go:163:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(cmp.Diff(rr.eps, emptyEps))
		^
Command Mean [s] Min [s] Max [s] Relative
local 118.146 ± 0.982 116.637 119.592 1.03 ± 0.01
v1.59.1 115.043 ± 0.606 114.290 116.463 1.00

spf13/cobra

Command Mean [s] Min [s] Max [s] Relative
local 2.130 ± 0.086 2.069 2.364 1.04 ± 0.05
v1.59.1 2.042 ± 0.047 2.006 2.159 1.00

hashicorp/consul

local
agent/agent_endpoint_test.go:7370:11: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
				ch <- fmt.Errorf(resp.Body.String())
				      ^
agent/agent_endpoint_test.go:7506:11: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
				ch <- fmt.Errorf(resp.Body.String())
				      ^
agent/config_endpoint_test.go:326:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(resp.Body.String())
		^
agent/config_endpoint_test.go:596:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(resp.Body.String())
		^
agent/grpc-external/stats_test.go:109:4: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
			t.Logf(err.Error())
			^
agent/grpc-internal/stats_test.go:109:4: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
			t.Logf(err.Error())
			^
agent/grpc-internal/services/subscribe/subscribe_test.go:1051:4: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
			t.Logf(err.Error())
			^
agent/hcp/bootstrap/bootstrap.go:324:14: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return "", fmt.Errorf(fmt.Sprintf("failed to read local bootstrap config file: %s", err))
		           ^
agent/leafcert/leafcert_test.go:523:5: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
				t.Fatalf(err.Error())
				^
agent/leafcert/leafcert_test.go:547:5: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
				t.Fatalf(err.Error())
				^
Command Mean [s] Min [s] Max [s] Relative
local 87.453 ± 0.409 87.021 88.322 1.03 ± 0.01
v1.59.1 84.884 ± 0.765 84.312 86.970 1.00

go-delve/delve

local
pkg/proc/dump.go:263:41: SA1003: value of type bool cannot be used with binary.Write (staticcheck)
	binary.Write(buf, binary.LittleEndian, hasGaddr)
	                                       ^
pkg/proc/proc_test.go:4820:2: SA3001: should not assign to b.N (staticcheck)
	b.N = 1
	^
pkg/proc/proc_test.go:519:2: SA4006: this value of `f` is never used (staticcheck)
	f, ln := currentLineNumber(p, t)
	^
pkg/proc/proc_test.go:2645:4: SA4006: this value of `f` is never used (staticcheck)
			f, ln = assertLineNumber(p, t, 13, "Step did not step into function call")
			^
service/test/integration2_test.go:3145:3: SA4006: this value of `err` is never used (staticcheck)
		_, err := c.CreateBreakpoint(&api.Breakpoint{File: fp, Line: 19})
		^
pkg/proc/scope_test.go:98:30: SA5011: possible nil pointer dereference (staticcheck)
			for i := range scopeCheck.varChecks {
			                          ^
pkg/proc/scope_test.go:92:7: SA5011(related information): this check suggests that the pointer can be nil (staticcheck)
			if scopeCheck == nil {
			   ^
v1.59.1
pkg/proc/proc_test.go:519:2: SA4006: this value of `f` is never used (staticcheck)
	f, ln := currentLineNumber(p, t)
	^
pkg/proc/proc_test.go:2645:4: SA4006: this value of `f` is never used (staticcheck)
			f, ln = assertLineNumber(p, t, 13, "Step did not step into function call")
			^
service/test/integration2_test.go:3145:3: SA4006: this value of `err` is never used (staticcheck)
		_, err := c.CreateBreakpoint(&api.Breakpoint{File: fp, Line: 19})
		^
pkg/proc/scope_test.go:98:30: SA5011: possible nil pointer dereference (staticcheck)
			for i := range scopeCheck.varChecks {
			                          ^
pkg/proc/scope_test.go:92:7: SA5011(related information): this check suggests that the pointer can be nil (staticcheck)
			if scopeCheck == nil {
			   ^
pkg/proc/proc_test.go:4820:2: SA3001: should not assign to b.N (staticcheck)
	b.N = 1
	^
pkg/proc/proc_test.go:5096:2: SA1019: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator. (staticcheck)
	rand.Seed(time.Now().Unix())
	^
service/dap/server_test.go:4841:2: SA1019: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator. (staticcheck)
	rand.Seed(time.Now().Unix())
	^
service/test/integration1_test.go:1025:4: SA1019: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator. (staticcheck)
			rand.Seed(time.Now().Unix())
			^
service/test/integration2_test.go:1629:4: SA1019: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator. (staticcheck)
			rand.Seed(time.Now().Unix())
			^
Command Mean [s] Min [s] Max [s] Relative
local 7.786 ± 0.059 7.678 7.886 1.04 ± 0.01
v1.59.1 7.519 ± 0.044 7.424 7.586 1.00

etcd-io/etcd

Command Mean [s] Min [s] Max [s] Relative
local 10.462 ± 0.227 10.123 10.834 1.04 ± 0.03
v1.59.1 10.068 ± 0.152 9.699 10.224 1.00

go-gitea/gitea

local
modules/cache/context.go:112:32: SA1029: should not use empty anonymous struct as key for value; define your own type to avoid collisions (staticcheck)
	return context.WithValue(ctx, cacheContextKey, &cacheContext{
	                              ^
routers/api/v1/repo/pull.go:753:7: SA1032: arguments have the wrong order (staticcheck)
			if errors.Is(pull_service.ErrUserHasNoPermissionForAction, err) {
			   ^
routers/web/repo/pull.go:1600:6: SA1032: arguments have the wrong order (staticcheck)
		if errors.Is(pull_service.ErrUserHasNoPermissionForAction, err) {
		   ^
routers/web/repo/view.go:741:23: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
	ctx.NotFound("Home", fmt.Errorf(ctx.Locale.TrString("units.error.no_unit_allowed_repo")))
	                     ^
services/actions/notifier_helper.go:46:32: SA1029: should not use empty anonymous struct as key for value; define your own type to avoid collisions (staticcheck)
	return context.WithValue(ctx, methodCtxKey, method)
	                              ^
services/automerge/automerge.go:279:6: SA1032: arguments have the wrong order (staticcheck)
		if errors.Is(pull_service.ErrUserNotAllowedToMerge, err) {
		   ^
Command Mean [s] Min [s] Max [s] Relative
local 66.520 ± 0.261 66.121 67.054 1.09 ± 0.01
v1.59.1 61.200 ± 0.309 60.601 61.478 1.00

google/go-github

Command Mean [s] Min [s] Max [s] Relative
local 6.384 ± 0.051 6.312 6.456 1.03 ± 0.01
v1.59.1 6.202 ± 0.067 6.100 6.303 1.00

golangci/golangci-lint

Command Mean [s] Min [s] Max [s] Relative
local 16.342 ± 0.112 16.160 16.505 1.06 ± 0.01
v1.59.1 15.380 ± 0.097 15.222 15.528 1.00

goreleaser/goreleaser

local
internal/pipe/blob/blob_test.go:31:38: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
			require.EqualError(t, handleError(fmt.Errorf(k), "someurl"), v)
			                                  ^
Command Mean [s] Min [s] Max [s] Relative
local 28.859 ± 0.167 28.659 29.199 1.08 ± 0.01
v1.59.1 26.606 ± 0.085 26.429 26.697 1.00

grpc/grpc-go

local
internal/transport/transport_test.go:1730:5: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
				t.Fatalf(err.Error())
				^
test/bufconn/bufconn_test.go:80:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(err.Error())
		^
test/bufconn/bufconn_test.go:100:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(err.Error())
		^
test/bufconn/bufconn_test.go:103:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(err.Error())
		^
test/bufconn/bufconn_test.go:172:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(err.Error())
		^
test/bufconn/bufconn_test.go:175:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(err.Error())
		^
balancer/pickfirst/pickfirst.go:169:3: SA1019: b.cc.UpdateAddresses is deprecated: this method will be removed.  Create new SubConns for new addresses instead. (staticcheck)
		b.cc.UpdateAddresses(b.subConn, addrs)
		^
balancer/pickfirst/pickfirst.go:174:18: SA1019: b.cc.NewSubConn is deprecated: please be aware that in a future version, SubConns will only support one address per SubConn. (staticcheck)
	subConn, err := b.cc.NewSubConn(addrs, balancer.NewSubConnOptions{
	                ^
admin/test/utils.go:71:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
	             ^
benchmark/benchmark.go:344:15: SA1019: grpc.DialContext is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.DialContext(ctx, addr, opts...)
	             ^
benchmark/benchmain/main.go:295:4: SA1019: grpc.RPCCompressor is deprecated: use encoding.RegisterCompressor instead. Will be supported throughout 1.x. (staticcheck)
			grpc.RPCCompressor(nopCompressor{}),
			^
benchmark/benchmain/main.go:296:4: SA1019: grpc.RPCDecompressor is deprecated: use encoding.RegisterCompressor instead. Will be supported throughout 1.x. (staticcheck)
			grpc.RPCDecompressor(nopDecompressor{}),
			^
benchmark/benchmain/main.go:299:4: SA1019: grpc.WithCompressor is deprecated: use UseCompressor instead.  Will be supported throughout 1.x. (staticcheck)
			grpc.WithCompressor(nopCompressor{}),
			^
benchmark/benchmain/main.go:300:4: SA1019: grpc.WithDecompressor is deprecated: use encoding.RegisterCompressor instead.  Will be supported throughout 1.x. (staticcheck)
			grpc.WithDecompressor(nopDecompressor{}),
			^
benchmark/benchmain/main.go:305:4: SA1019: grpc.RPCCompressor is deprecated: use encoding.RegisterCompressor instead. Will be supported throughout 1.x. (staticcheck)
			grpc.RPCCompressor(grpc.NewGZIPCompressor()),
			^
benchmark/benchmain/main.go:306:4: SA1019: grpc.RPCDecompressor is deprecated: use encoding.RegisterCompressor instead. Will be supported throughout 1.x. (staticcheck)
			grpc.RPCDecompressor(grpc.NewGZIPDecompressor()),
			^
benchmark/benchmain/main.go:309:4: SA1019: grpc.WithCompressor is deprecated: use UseCompressor instead.  Will be supported throughout 1.x. (staticcheck)
			grpc.WithCompressor(grpc.NewGZIPCompressor()),
			^
benchmark/benchmain/main.go:310:4: SA1019: grpc.WithDecompressor is deprecated: use encoding.RegisterCompressor instead.  Will be supported throughout 1.x. (staticcheck)
			grpc.WithDecompressor(grpc.NewGZIPDecompressor()),
			^
benchmark/client/main.go:141:4: SA1019: grpc.WithBlock is deprecated: this DialOption is not supported by NewClient. Will be supported throughout 1.x. (staticcheck)
			grpc.WithBlock(),
			^
benchmark/worker/benchmark_client.go:150:52: SA1019: grpc.CallCustomCodec is deprecated: use ForceCodec instead. (staticcheck)
			opts = append(opts, grpc.WithDefaultCallOptions(grpc.CallCustomCodec(byteBufCodec{})))
			                                                ^
benchmark/worker/benchmark_server.go:128:24: SA1019: grpc.CustomCodec is deprecated: register codecs using encoding.RegisterCodec. The server will automatically use registered codecs based on the incoming requests' headers. See also https://github.com/grpc/grpc-go/blob/master/Documentation/encoding.md#using-a-codec. Will be supported throughout 1.x. (staticcheck)
			opts = append(opts, grpc.CustomCodec(byteBufCodec{}))
			                    ^
internal/stubserver/stubserver.go:195:13: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	cc, err := grpc.Dial(ss.Target, opts...)
	           ^
interop/orcalb.go:59:3: SA1019: o.sc.UpdateAddresses is deprecated: this method will be removed.  Create new SubConns for new addresses instead. (staticcheck)
		o.sc.UpdateAddresses(s.ResolverState.Addresses)
		^
interop/orcalb.go:68:14: SA1019: o.cc.NewSubConn is deprecated: please be aware that in a future version, SubConns will only support one address per SubConn. (staticcheck)
	o.sc, err = o.cc.NewSubConn(s.ResolverState.Addresses, balancer.NewSubConnOptions{StateListener: o.updateSubConnState})
	            ^
interop/test_utils.go:692:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
		conn, err = grpc.Dial(serverAddr, dopts...)
		            ^
interop/alts/client/client.go:51:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(*serverAddr, grpc.WithTransportCredentials(altsTC), grpc.WithBlock())
	             ^
interop/client/client.go:264:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(serverAddr, opts...)
	             ^
interop/grpclb_fallback/client_linux.go:115:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(*serverURI, opts...)
	             ^
interop/http2/negative_http2_client.go:136:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(serverAddr, opts...)
	             ^
interop/stress/client/main.go:322:9: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	return grpc.Dial(address, opts...)
	       ^
interop/stress/metrics_client/main.go:78:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(*metricsServerAddress, grpc.WithTransportCredentials(insecure.NewCredentials()))
	             ^
interop/xds_federation/client.go:104:14: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
		cc, err := grpc.Dial(uris[i], opts...)
		           ^
reflection/internal/internal.go:251:72: SA1019: v1alphareflectionpb.ServerReflectionResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
func V1ToV1AlphaResponse(v1 *v1reflectionpb.ServerReflectionResponse) *v1alphareflectionpb.ServerReflectionResponse {
                                                                       ^
reflection/internal/internal.go:252:14: SA1019: v1alphareflectionpb.ServerReflectionResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
	var v1alpha v1alphareflectionpb.ServerReflectionResponse
	            ^
reflection/internal/internal.go:253:2: SA1019: v1alpha.ValidHost is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
	v1alpha.ValidHost = v1.ValidHost
	^
reflection/internal/internal.go:255:3: SA1019: v1alpha.OriginalRequest is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
		v1alpha.OriginalRequest = V1ToV1AlphaRequest(v1.OriginalRequest)
		^
reflection/internal/internal.go:261:30: SA1019: v1alphareflectionpb.FileDescriptorResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				FileDescriptorResponse: &v1alphareflectionpb.FileDescriptorResponse{
				                         ^
reflection/internal/internal.go:269:35: SA1019: v1alphareflectionpb.ExtensionNumberResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				AllExtensionNumbersResponse: &v1alphareflectionpb.ExtensionNumberResponse{
				                              ^
reflection/internal/internal.go:277:20: SA1019: v1alphareflectionpb.ServiceResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
			svcs := make([]*v1alphareflectionpb.ServiceResponse, len(mr.ListServicesResponse.GetService()))
			                ^
reflection/internal/internal.go:279:16: SA1019: v1alphareflectionpb.ServiceResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				svcs[i] = &v1alphareflectionpb.ServiceResponse{
				           ^
reflection/internal/internal.go:284:28: SA1019: v1alphareflectionpb.ListServiceResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				ListServicesResponse: &v1alphareflectionpb.ListServiceResponse{
				                       ^
reflection/internal/internal.go:292:21: SA1019: v1alphareflectionpb.ErrorResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				ErrorResponse: &v1alphareflectionpb.ErrorResponse{
				                ^
reflection/internal/internal.go:305:34: SA1019: v1alphareflectionpb.ServerReflectionRequest is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
func V1AlphaToV1Request(v1alpha *v1alphareflectionpb.ServerReflectionRequest) *v1reflectionpb.ServerReflectionRequest {
                                 ^
reflection/internal/internal.go:307:12: SA1019: v1alpha.Host is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
	v1.Host = v1alpha.Host
	          ^
reflection/internal/internal.go:311:20: SA1019: mr.FileByFilename is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
			FileByFilename: mr.FileByFilename,
			                ^
reflection/internal/internal.go:315:26: SA1019: mr.FileContainingSymbol is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
			FileContainingSymbol: mr.FileContainingSymbol,
			                      ^
reflection/internal/internal.go:318:6: SA1019: mr.FileContainingExtension is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
		if mr.FileContainingExtension != nil {
		   ^
reflection/internal/internal.go:321:23: SA1019: mr.FileContainingExtension.GetContainingType is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
					ContainingType:  mr.FileContainingExtension.GetContainingType(),
					                 ^
reflection/internal/internal.go:322:23: SA1019: mr.FileContainingExtension.GetExtensionNumber is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
					ExtensionNumber: mr.FileContainingExtension.GetExtensionNumber(),
					                 ^
reflection/internal/internal.go:328:31: SA1019: mr.AllExtensionNumbersOfType is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
			AllExtensionNumbersOfType: mr.AllExtensionNumbersOfType,
			                           ^
v1.59.1
balancer/pickfirst/pickfirst.go:169:3: SA1019: b.cc.UpdateAddresses is deprecated: this method will be removed.  Create new SubConns for new addresses instead. (staticcheck)
		b.cc.UpdateAddresses(b.subConn, addrs)
		^
balancer/pickfirst/pickfirst.go:174:18: SA1019: b.cc.NewSubConn is deprecated: please be aware that in a future version, SubConns will only support one address per SubConn. (staticcheck)
	subConn, err := b.cc.NewSubConn(addrs, balancer.NewSubConnOptions{
	                ^
admin/test/utils.go:71:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
	             ^
benchmark/benchmark.go:344:15: SA1019: grpc.DialContext is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.DialContext(ctx, addr, opts...)
	             ^
benchmark/benchmain/main.go:295:4: SA1019: grpc.RPCCompressor is deprecated: use encoding.RegisterCompressor instead. Will be supported throughout 1.x. (staticcheck)
			grpc.RPCCompressor(nopCompressor{}),
			^
benchmark/benchmain/main.go:296:4: SA1019: grpc.RPCDecompressor is deprecated: use encoding.RegisterCompressor instead. Will be supported throughout 1.x. (staticcheck)
			grpc.RPCDecompressor(nopDecompressor{}),
			^
benchmark/benchmain/main.go:299:4: SA1019: grpc.WithCompressor is deprecated: use UseCompressor instead.  Will be supported throughout 1.x. (staticcheck)
			grpc.WithCompressor(nopCompressor{}),
			^
benchmark/benchmain/main.go:300:4: SA1019: grpc.WithDecompressor is deprecated: use encoding.RegisterCompressor instead.  Will be supported throughout 1.x. (staticcheck)
			grpc.WithDecompressor(nopDecompressor{}),
			^
benchmark/benchmain/main.go:305:4: SA1019: grpc.RPCCompressor is deprecated: use encoding.RegisterCompressor instead. Will be supported throughout 1.x. (staticcheck)
			grpc.RPCCompressor(grpc.NewGZIPCompressor()),
			^
benchmark/benchmain/main.go:306:4: SA1019: grpc.RPCDecompressor is deprecated: use encoding.RegisterCompressor instead. Will be supported throughout 1.x. (staticcheck)
			grpc.RPCDecompressor(grpc.NewGZIPDecompressor()),
			^
benchmark/benchmain/main.go:309:4: SA1019: grpc.WithCompressor is deprecated: use UseCompressor instead.  Will be supported throughout 1.x. (staticcheck)
			grpc.WithCompressor(grpc.NewGZIPCompressor()),
			^
benchmark/benchmain/main.go:310:4: SA1019: grpc.WithDecompressor is deprecated: use encoding.RegisterCompressor instead.  Will be supported throughout 1.x. (staticcheck)
			grpc.WithDecompressor(grpc.NewGZIPDecompressor()),
			^
benchmark/client/main.go:141:4: SA1019: grpc.WithBlock is deprecated: this DialOption is not supported by NewClient. Will be supported throughout 1.x. (staticcheck)
			grpc.WithBlock(),
			^
benchmark/worker/benchmark_client.go:150:52: SA1019: grpc.CallCustomCodec is deprecated: use ForceCodec instead. (staticcheck)
			opts = append(opts, grpc.WithDefaultCallOptions(grpc.CallCustomCodec(byteBufCodec{})))
			                                                ^
benchmark/worker/benchmark_server.go:128:24: SA1019: grpc.CustomCodec is deprecated: register codecs using encoding.RegisterCodec. The server will automatically use registered codecs based on the incoming requests' headers. See also https://github.com/grpc/grpc-go/blob/master/Documentation/encoding.md#using-a-codec. Will be supported throughout 1.x. (staticcheck)
			opts = append(opts, grpc.CustomCodec(byteBufCodec{}))
			                    ^
internal/stubserver/stubserver.go:195:13: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	cc, err := grpc.Dial(ss.Target, opts...)
	           ^
interop/orcalb.go:59:3: SA1019: o.sc.UpdateAddresses is deprecated: this method will be removed.  Create new SubConns for new addresses instead. (staticcheck)
		o.sc.UpdateAddresses(s.ResolverState.Addresses)
		^
interop/orcalb.go:68:14: SA1019: o.cc.NewSubConn is deprecated: please be aware that in a future version, SubConns will only support one address per SubConn. (staticcheck)
	o.sc, err = o.cc.NewSubConn(s.ResolverState.Addresses, balancer.NewSubConnOptions{StateListener: o.updateSubConnState})
	            ^
interop/test_utils.go:692:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
		conn, err = grpc.Dial(serverAddr, dopts...)
		            ^
interop/alts/client/client.go:51:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(*serverAddr, grpc.WithTransportCredentials(altsTC), grpc.WithBlock())
	             ^
interop/client/client.go:264:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(serverAddr, opts...)
	             ^
interop/grpclb_fallback/client_linux.go:115:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(*serverURI, opts...)
	             ^
interop/http2/negative_http2_client.go:136:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(serverAddr, opts...)
	             ^
interop/stress/client/main.go:322:9: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	return grpc.Dial(address, opts...)
	       ^
interop/stress/metrics_client/main.go:78:15: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
	conn, err := grpc.Dial(*metricsServerAddress, grpc.WithTransportCredentials(insecure.NewCredentials()))
	             ^
interop/xds_federation/client.go:104:14: SA1019: grpc.Dial is deprecated: use NewClient instead.  Will be supported throughout 1.x. (staticcheck)
		cc, err := grpc.Dial(uris[i], opts...)
		           ^
reflection/internal/internal.go:251:72: SA1019: v1alphareflectionpb.ServerReflectionResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
func V1ToV1AlphaResponse(v1 *v1reflectionpb.ServerReflectionResponse) *v1alphareflectionpb.ServerReflectionResponse {
                                                                       ^
reflection/internal/internal.go:252:14: SA1019: v1alphareflectionpb.ServerReflectionResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
	var v1alpha v1alphareflectionpb.ServerReflectionResponse
	            ^
reflection/internal/internal.go:253:2: SA1019: v1alpha.ValidHost is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
	v1alpha.ValidHost = v1.ValidHost
	^
reflection/internal/internal.go:255:3: SA1019: v1alpha.OriginalRequest is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
		v1alpha.OriginalRequest = V1ToV1AlphaRequest(v1.OriginalRequest)
		^
reflection/internal/internal.go:261:30: SA1019: v1alphareflectionpb.FileDescriptorResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				FileDescriptorResponse: &v1alphareflectionpb.FileDescriptorResponse{
				                         ^
reflection/internal/internal.go:269:35: SA1019: v1alphareflectionpb.ExtensionNumberResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				AllExtensionNumbersResponse: &v1alphareflectionpb.ExtensionNumberResponse{
				                              ^
reflection/internal/internal.go:277:20: SA1019: v1alphareflectionpb.ServiceResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
			svcs := make([]*v1alphareflectionpb.ServiceResponse, len(mr.ListServicesResponse.GetService()))
			                ^
reflection/internal/internal.go:279:16: SA1019: v1alphareflectionpb.ServiceResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				svcs[i] = &v1alphareflectionpb.ServiceResponse{
				           ^
reflection/internal/internal.go:284:28: SA1019: v1alphareflectionpb.ListServiceResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				ListServicesResponse: &v1alphareflectionpb.ListServiceResponse{
				                       ^
reflection/internal/internal.go:292:21: SA1019: v1alphareflectionpb.ErrorResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				ErrorResponse: &v1alphareflectionpb.ErrorResponse{
				                ^
reflection/internal/internal.go:305:34: SA1019: v1alphareflectionpb.ServerReflectionRequest is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
func V1AlphaToV1Request(v1alpha *v1alphareflectionpb.ServerReflectionRequest) *v1reflectionpb.ServerReflectionRequest {
                                 ^
reflection/internal/internal.go:307:12: SA1019: v1alpha.Host is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
	v1.Host = v1alpha.Host
	          ^
reflection/internal/internal.go:311:20: SA1019: mr.FileByFilename is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
			FileByFilename: mr.FileByFilename,
			                ^
reflection/internal/internal.go:315:26: SA1019: mr.FileContainingSymbol is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
			FileContainingSymbol: mr.FileContainingSymbol,
			                      ^
reflection/internal/internal.go:318:6: SA1019: mr.FileContainingExtension is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
		if mr.FileContainingExtension != nil {
		   ^
reflection/internal/internal.go:321:23: SA1019: mr.FileContainingExtension.GetContainingType is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
					ContainingType:  mr.FileContainingExtension.GetContainingType(),
					                 ^
reflection/internal/internal.go:322:23: SA1019: mr.FileContainingExtension.GetExtensionNumber is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
					ExtensionNumber: mr.FileContainingExtension.GetExtensionNumber(),
					                 ^
reflection/internal/internal.go:328:31: SA1019: mr.AllExtensionNumbersOfType is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
			AllExtensionNumbersOfType: mr.AllExtensionNumbersOfType,
			                           ^
reflection/internal/internal.go:332:18: SA1019: mr.ListServices is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
			ListServices: mr.ListServices,
			              ^
reflection/internal/internal.go:341:70: SA1019: v1alphareflectionpb.ServerReflectionRequest is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
func V1ToV1AlphaRequest(v1 *v1reflectionpb.ServerReflectionRequest) *v1alphareflectionpb.ServerReflectionRequest {
                                                                     ^
reflection/internal/internal.go:342:14: SA1019: v1alphareflectionpb.ServerReflectionRequest is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
	var v1alpha v1alphareflectionpb.ServerReflectionRequest
	            ^
reflection/internal/internal.go:343:2: SA1019: v1alpha.Host is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
	v1alpha.Host = v1.Host
	^
reflection/internal/internal.go:360:31: SA1019: v1alphareflectionpb.ExtensionRequest is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
				FileContainingExtension: &v1alphareflectionpb.ExtensionRequest{
				                          ^
reflection/internal/internal.go:385:35: SA1019: v1alphareflectionpb.ServerReflectionResponse is deprecated: The entire proto file grpc/reflection/v1alpha/reflection.proto is marked as deprecated. (staticcheck)
func V1AlphaToV1Response(v1alpha *v1alphareflectionpb.ServerReflectionResponse) *v1reflectionpb.ServerReflectionResponse {
                                  ^
Command Mean [s] Min [s] Max [s] Relative
local 17.244 ± 0.133 17.067 17.531 1.03 ± 0.01
v1.59.1 16.688 ± 0.096 16.527 16.826 1.00

gohugoio/hugo

local
modules/config.go:101:11: SA1019: dirs.DataDir is deprecated: Use module mounts. The data source directory. (staticcheck)
				dir = dirs.DataDir
				      ^
modules/config.go:104:11: SA1019: dirs.LayoutDir is deprecated: Use module mounts. The layout source directory. (staticcheck)
				dir = dirs.LayoutDir
				      ^
modules/config.go:107:11: SA1019: dirs.I18nDir is deprecated: Use module mounts. The i18n source directory. (staticcheck)
				dir = dirs.I18nDir
				      ^
modules/config.go:110:11: SA1019: dirs.ArcheTypeDir is deprecated: Use module mounts. The archetypes source directory. (staticcheck)
				dir = dirs.ArcheTypeDir
				      ^
modules/config.go:113:11: SA1019: dirs.AssetDir is deprecated: Use module mounts. The assets source directory. (staticcheck)
				dir = dirs.AssetDir
				      ^
tpl/internal/go_templates/texttemplate/exec_test.go:1756:2: SA4006: this value of `err` is never used (staticcheck)
	tmpl, err = New("").Parse(textCall)
	^
v1.59.1
tpl/internal/go_templates/texttemplate/exec_test.go:1756:2: SA4006: this value of `err` is never used (staticcheck)
	tmpl, err = New("").Parse(textCall)
	^
helpers/general.go:200:10: SA1019: strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead. (staticcheck)
		return strings.Title
		       ^
modules/config.go:101:11: SA1019: dirs.DataDir is deprecated: Use module mounts. The data source directory. (staticcheck)
				dir = dirs.DataDir
				      ^
modules/config.go:104:11: SA1019: dirs.LayoutDir is deprecated: Use module mounts. The layout source directory. (staticcheck)
				dir = dirs.LayoutDir
				      ^
modules/config.go:107:11: SA1019: dirs.I18nDir is deprecated: Use module mounts. The i18n source directory. (staticcheck)
				dir = dirs.I18nDir
				      ^
modules/config.go:110:11: SA1019: dirs.ArcheTypeDir is deprecated: Use module mounts. The archetypes source directory. (staticcheck)
				dir = dirs.ArcheTypeDir
				      ^
modules/config.go:113:11: SA1019: dirs.AssetDir is deprecated: Use module mounts. The assets source directory. (staticcheck)
				dir = dirs.AssetDir
				      ^
tpl/internal/go_templates/texttemplate/examplefunc_test.go:24:12: SA1019: strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead. (staticcheck)
		"title": strings.Title,
		         ^
Command Mean [s] Min [s] Max [s] Relative
local 62.602 ± 0.420 62.099 63.362 1.03 ± 0.01
v1.59.1 60.669 ± 0.516 60.336 62.083 1.00

kubernetes/kubernetes

local
pkg/kubeapiserver/authorizer/config.go:179:15: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return nil, fmt.Errorf(errors.ToAggregate().Error())
		            ^
test/utils/deployment.go:229:9: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		err = fmt.Errorf(reason)
		      ^
test/e2e/framework/debug/resource_usage_gatherer.go:598:20: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return &summary, fmt.Errorf(strings.Join(violatedConstraints, "\n"))
		                 ^
test/e2e/framework/autoscaling/autoscaling_utils.go:487:13: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return 0, fmt.Errorf(invalidKind)
		          ^
test/e2e/upgrades/apps/cassandra.go:134:15: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return nil, fmt.Errorf(string(b))
		            ^
test/e2e/upgrades/apps/cassandra.go:156:10: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return fmt.Errorf(string(b))
		       ^
test/e2e/upgrades/apps/etcd.go:128:15: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return nil, fmt.Errorf(string(b))
		            ^
test/e2e/upgrades/apps/etcd.go:149:10: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return fmt.Errorf(string(b))
		       ^
test/e2e/upgrades/apps/mysql.go:197:10: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return fmt.Errorf(string(b))
		       ^
test/e2e/upgrades/apps/mysql.go:215:13: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return 0, fmt.Errorf(string(b))
		          ^
pkg/controller/garbagecollector/config/v1alpha1/defaults.go:21:2: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	"k8s.io/utils/pointer"
	^
pkg/controller/volume/persistentvolume/config/v1alpha1/defaults.go:24:2: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	"k8s.io/utils/pointer"
	^
pkg/apis/core/v1/defaults.go:67:5: SA1019: pointer.AllPtrFieldsNil is deprecated: Use ptr.AllPtrFieldsNil instead. (staticcheck)
	if pointer.AllPtrFieldsNil(&obj.VolumeSource) {
	   ^
pkg/apis/core/v1/conversion.go:31:14: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	utilpointer "k8s.io/utils/pointer"
	            ^
pkg/apis/core/v1/defaults.go:29:2: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	"k8s.io/utils/pointer"
	^
pkg/apis/certificates/helpers.go:65:63: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func IsKubeletServingCSR(req *x509.CertificateRequest, usages sets.String) bool {
                                                              ^
pkg/apis/certificates/helpers.go:68:69: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func ValidateKubeletServingCSR(req *x509.CertificateRequest, usages sets.String) error {
                                                                    ^
pkg/apis/certificates/helpers.go:108:62: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func IsKubeletClientCSR(req *x509.CertificateRequest, usages sets.String) bool {
                                                             ^
pkg/apis/certificates/helpers.go:111:68: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func ValidateKubeletClientCSR(req *x509.CertificateRequest, usages sets.String) error {
                                                                   ^
pkg/apis/batch/v1/defaults.go:27:14: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	utilpointer "k8s.io/utils/pointer"
	            ^
pkg/apis/admissionregistration/v1/defaults.go:23:14: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	utilpointer "k8s.io/utils/pointer"
	            ^
pkg/apis/admissionregistration/v1beta1/defaults.go:23:14: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	utilpointer "k8s.io/utils/pointer"
	            ^
pkg/apis/autoscaling/v2/defaults.go:24:2: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	"k8s.io/utils/pointer"
	^
pkg/apis/autoscaling/v2beta2/defaults.go:24:2: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	"k8s.io/utils/pointer"
	^
pkg/apis/networking/v1/defaults.go:23:14: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	utilpointer "k8s.io/utils/pointer"
	            ^
pkg/registry/scheduling/rest/storage_scheduling.go:82:10: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
		err := wait.Poll(1*time.Second, 30*time.Second, func() (done bool, err error) {
		       ^
pkg/kubelet/cm/devicemanager/plugin/v1beta1/stub.go:163:2: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	wait.PollImmediate(1*time.Second, 10*time.Second, func() (bool, error) {
	^
test/utils/deployment.go:81:9: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	       ^
test/utils/deployment.go:209:9: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	       ^
test/utils/deployment.go:305:13: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	pollErr := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	           ^
test/utils/deployment.go:333:9: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	       ^
test/utils/deployment.go:353:9: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	       ^
test/utils/deployment.go:369:13: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	pollErr := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	           ^
test/utils/pod_store.go:59:12: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	if err := wait.PollImmediate(50*time.Millisecond, 2*time.Minute, func() (bool, error) {
	          ^
test/utils/replicaset.go:36:13: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	pollErr := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	           ^
test/utils/replicaset.go:59:12: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	if err := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	          ^
test/utils/runners.go:223:38: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func (p podDiff) String(ignorePhases sets.String) string {
                                     ^
test/utils/runners.go:655:24: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
	ContainerRestartNodes sets.String
	                      ^
test/utils/runners.go:1575:8: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err = wait.Poll(time.Second, timeout, func() (bool, error) {
	      ^
cmd/kube-apiserver/app/testing/testserver.go:405:9: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
		err = wait.Poll(100*time.Millisecond, time.Minute, func() (bool, error) {
		      ^
cmd/kube-apiserver/app/testing/testserver.go:435:8: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err = wait.Poll(100*time.Millisecond, 30*time.Second, func() (bool, error) {
	      ^
pkg/api/service/testing/make.go:86:43: SA1019: utilpointer.BoolPtr is deprecated: Use ptr.To instead. (staticcheck)
	svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
	                                         ^
pkg/api/service/testing/make.go:196:44: SA1019: utilpointer.BoolPtr is deprecated: Use ptr.To instead. (staticcheck)
		svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(val)
		                                         ^
pkg/controller/nodeipam/ipam/test/utils.go:60:9: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	return wait.Poll(NodePollInterval, timeout, func() (bool, error) {
	       ^
test/e2e/framework/network/utils.go:221:159: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func (config *NetworkingTestConfig) DialFromEndpointContainer(ctx context.Context, protocol, targetIP string, targetPort, maxTries, minTries int, expectedEps sets.String) error {
                                                                                                                                                              ^
test/e2e/framework/network/utils.go:226:155: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func (config *NetworkingTestConfig) DialFromTestContainer(ctx context.Context, protocol, targetIP string, targetPort, maxTries, minTries int, expectedEps sets.String) error {
                                                                                                                                                          ^
test/e2e/framework/network/utils.go:251:77: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func (config *NetworkingTestConfig) diagnoseMissingEndpoints(foundEndpoints sets.String) {
                                                                            ^
test/e2e/framework/network/utils.go:264:57: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func (config *NetworkingTestConfig) EndpointHostnames() sets.String {
                                                        ^
test/e2e/framework/node/runtimeclass/runtimeclass.go:53:34: SA1019: utilpointer.BoolPtr is deprecated: Use ptr.To instead. (staticcheck)
			AutomountServiceAccountToken: utilpointer.BoolPtr(false),
			                              ^
test/e2e/common/node/container_probe.go:1517:19: SA1019: cache.NewInformer is deprecated: Use NewInformerWithOptions instead. (staticcheck)
	_, controller := cache.NewInformer(
	                 ^
v1.59.1
pkg/controller/garbagecollector/config/v1alpha1/defaults.go:21:2: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	"k8s.io/utils/pointer"
	^
pkg/controller/volume/persistentvolume/config/v1alpha1/defaults.go:24:2: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	"k8s.io/utils/pointer"
	^
pkg/apis/core/v1/defaults.go:67:5: SA1019: pointer.AllPtrFieldsNil is deprecated: Use ptr.AllPtrFieldsNil instead. (staticcheck)
	if pointer.AllPtrFieldsNil(&obj.VolumeSource) {
	   ^
pkg/apis/core/v1/conversion.go:31:14: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	utilpointer "k8s.io/utils/pointer"
	            ^
pkg/apis/core/v1/defaults.go:29:2: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	"k8s.io/utils/pointer"
	^
cmd/dependencyverifier/dependencyverifier.go:23:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
pkg/apis/certificates/helpers.go:65:63: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func IsKubeletServingCSR(req *x509.CertificateRequest, usages sets.String) bool {
                                                              ^
pkg/apis/certificates/helpers.go:68:69: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func ValidateKubeletServingCSR(req *x509.CertificateRequest, usages sets.String) error {
                                                                    ^
pkg/apis/certificates/helpers.go:108:62: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func IsKubeletClientCSR(req *x509.CertificateRequest, usages sets.String) bool {
                                                             ^
pkg/apis/certificates/helpers.go:111:68: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func ValidateKubeletClientCSR(req *x509.CertificateRequest, usages sets.String) error {
                                                                   ^
pkg/apis/batch/v1/defaults.go:27:14: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	utilpointer "k8s.io/utils/pointer"
	            ^
pkg/apis/admissionregistration/v1/defaults.go:23:14: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	utilpointer "k8s.io/utils/pointer"
	            ^
pkg/apis/admissionregistration/v1beta1/defaults.go:23:14: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	utilpointer "k8s.io/utils/pointer"
	            ^
pkg/apis/autoscaling/v2/defaults.go:24:2: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	"k8s.io/utils/pointer"
	^
pkg/apis/autoscaling/v2beta2/defaults.go:24:2: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	"k8s.io/utils/pointer"
	^
pkg/apis/networking/v1/defaults.go:23:14: SA1019: "k8s.io/utils/pointer" is deprecated: Use functions in k8s.io/utils/ptr instead: ptr.To to obtain a pointer, ptr.Deref to dereference a pointer, ptr.Equal to compare dereferenced pointers. (staticcheck)
	utilpointer "k8s.io/utils/pointer"
	            ^
pkg/registry/scheduling/rest/storage_scheduling.go:82:10: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
		err := wait.Poll(1*time.Second, 30*time.Second, func() (done bool, err error) {
		       ^
pkg/kubelet/cm/devicemanager/plugin/v1beta1/stub.go:163:2: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	wait.PollImmediate(1*time.Second, 10*time.Second, func() (bool, error) {
	^
test/utils/deployment.go:81:9: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	       ^
test/utils/deployment.go:209:9: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	       ^
test/utils/deployment.go:305:13: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	pollErr := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	           ^
test/utils/deployment.go:333:9: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	       ^
test/utils/deployment.go:353:9: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	       ^
test/utils/deployment.go:369:13: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	pollErr := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	           ^
test/utils/pod_store.go:59:12: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	if err := wait.PollImmediate(50*time.Millisecond, 2*time.Minute, func() (bool, error) {
	          ^
test/utils/replicaset.go:36:13: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	pollErr := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	           ^
test/utils/replicaset.go:59:12: SA1019: wait.PollImmediate is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	if err := wait.PollImmediate(pollInterval, pollTimeout, func() (bool, error) {
	          ^
test/utils/runners.go:223:38: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func (p podDiff) String(ignorePhases sets.String) string {
                                     ^
test/utils/runners.go:655:24: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
	ContainerRestartNodes sets.String
	                      ^
test/utils/runners.go:1575:8: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err = wait.Poll(time.Second, timeout, func() (bool, error) {
	      ^
cmd/kube-apiserver/app/testing/testserver.go:405:9: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
		err = wait.Poll(100*time.Millisecond, time.Minute, func() (bool, error) {
		      ^
cmd/kube-apiserver/app/testing/testserver.go:435:8: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	err = wait.Poll(100*time.Millisecond, 30*time.Second, func() (bool, error) {
	      ^
pkg/api/service/testing/make.go:86:43: SA1019: utilpointer.BoolPtr is deprecated: Use ptr.To instead. (staticcheck)
	svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
	                                         ^
pkg/api/service/testing/make.go:196:44: SA1019: utilpointer.BoolPtr is deprecated: Use ptr.To instead. (staticcheck)
		svc.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(val)
		                                         ^
pkg/controller/nodeipam/ipam/test/utils.go:60:9: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
	return wait.Poll(NodePollInterval, timeout, func() (bool, error) {
	       ^
test/e2e/framework/network/utils.go:221:159: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func (config *NetworkingTestConfig) DialFromEndpointContainer(ctx context.Context, protocol, targetIP string, targetPort, maxTries, minTries int, expectedEps sets.String) error {
                                                                                                                                                              ^
test/e2e/framework/network/utils.go:226:155: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func (config *NetworkingTestConfig) DialFromTestContainer(ctx context.Context, protocol, targetIP string, targetPort, maxTries, minTries int, expectedEps sets.String) error {
                                                                                                                                                          ^
test/e2e/framework/network/utils.go:251:77: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func (config *NetworkingTestConfig) diagnoseMissingEndpoints(foundEndpoints sets.String) {
                                                                            ^
test/e2e/framework/network/utils.go:264:57: SA1019: sets.String is deprecated: use generic Set instead. new ways: s1 := Set[string]{} s2 := New[string]() (staticcheck)
func (config *NetworkingTestConfig) EndpointHostnames() sets.String {
                                                        ^
test/e2e/framework/node/runtimeclass/runtimeclass.go:53:34: SA1019: utilpointer.BoolPtr is deprecated: Use ptr.To instead. (staticcheck)
			AutomountServiceAccountToken: utilpointer.BoolPtr(false),
			                              ^
test/e2e/common/node/container_probe.go:1517:19: SA1019: cache.NewInformer is deprecated: Use NewInformerWithOptions instead. (staticcheck)
	_, controller := cache.NewInformer(
	                 ^
test/e2e/common/node/node_lease.go:140:10: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
			err = wait.Poll(time.Second, 5*time.Minute, func() (bool, error) {
			      ^
test/e2e/common/node/pods.go:798:11: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
			err := wait.Poll(time.Second, time.Minute, func() (bool, error) {
			       ^
test/e2e/common/node/security_context.go:382:23: SA1019: pointer.BoolPtr is deprecated: Use ptr.To instead. (staticcheck)
								RunAsNonRoot: pointer.BoolPtr(true),
								              ^
test/e2e/common/node/security_context.go:395:43: SA1019: pointer.Int64Ptr is deprecated: Use ptr.To instead. (staticcheck)
			pod := makeNonRootPod(name, rootImage, pointer.Int64Ptr(nonRootTestUserID))
			                                       ^
test/e2e/common/node/security_context.go:405:46: SA1019: pointer.Int64Ptr is deprecated: Use ptr.To instead. (staticcheck)
			pod := makeNonRootPod(name, nonRootImage, pointer.Int64Ptr(0))
			                                          ^
test/e2e/common/util.go:194:13: SA1019: wait.Poll is deprecated: This method does not return errors from context, use PollUntilContextTimeout. Note that the new method will no longer return ErrWaitTimeout and instead return errors defined by the context package. Will be removed in a future release. (staticcheck)
		if err := wait.Poll(30*time.Second, framework.RestartNodeReadyAgainTimeout, func() (bool, error) {
		          ^
test/e2e/framework/service/jig.go:365:18: SA1019: cache.NewInformer is deprecated: Use NewInformerWithOptions instead. (staticcheck)
	_, controller = cache.NewInformer(
	                ^
test/e2e/framework/service/jig.go:403:20: SA1019: cache.NewInformer is deprecated: Use NewInformerWithOptions instead. (staticcheck)
	_, esController = cache.NewInformer(
	                  ^
test/e2e/scheduling/events.go:67:19: SA1019: cache.NewInformer is deprecated: Use NewInformerWithOptions instead. (staticcheck)
	_, controller := cache.NewInformer(
	                 ^
Command Mean [s] Min [s] Max [s] Relative
local 210.711 ± 2.472 207.858 215.868 1.02 ± 0.01
v1.59.1 205.844 ± 0.825 205.142 208.018 1.00

go-acme/lego

Command Mean [s] Min [s] Max [s] Relative
local 39.064 ± 0.239 38.588 39.437 1.05 ± 0.01
v1.59.1 37.177 ± 0.180 36.980 37.549 1.00

pact-foundation/pact-go

local
installer/installer.go:467:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		log.Fatalf(err.Error())
		^
Command Mean [s] Min [s] Max [s] Relative
local 5.545 ± 0.028 5.495 5.589 1.03 ± 0.01
v1.59.1 5.379 ± 0.036 5.336 5.464 1.00

rclone/rclone

local
cmd/cmd.go:122:4: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
			log.Fatalf(err.Error())
			^
cmd/bisync/operations.go:572:9: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		err = fmt.Errorf(Color(terminal.RedFg, "Overlapping paths detected. Cannot bisync between paths that overlap, unless excluded by filters."))
		      ^
cmd/mount/mount.go:72:5: SA4032: due to the file's build constraints, runtime.GOOS will never equal "darwin" (staticcheck)
	if runtime.GOOS == "darwin" {
	   ^
Command Mean [s] Min [s] Max [s] Relative
local 31.494 ± 0.102 31.350 31.655 1.08 ± 0.00
v1.59.1 29.183 ± 0.061 29.086 29.265 1.00

hashicorp/terraform

local
internal/addrs/output_value_test.go:118:5: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
				t.Errorf(problem)
				^
internal/addrs/parse_ref_test.go:162:5: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
				t.Errorf(problem)
				^
internal/addrs/parse_ref_test.go:953:5: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
				t.Errorf(problem)
				^
internal/addrs/parse_target_test.go:406:5: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
				t.Errorf(problem)
				^
internal/addrs/provider_test.go:435:4: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
			t.Errorf(problem)
			^
internal/backend/remote/backend_common.go:442:13: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
					return fmt.Errorf(
					       ^
internal/cloud/backend_common.go:415:13: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
					return fmt.Errorf(
					       ^
internal/cloud/backend_taskStages.go:194:17: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		return false, fmt.Errorf(
		              ^
internal/cloud/e2e/helper_test.go:262:3: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		t.Fatalf(fmt.Sprintf("Error instantiating go-version for %s", version))
		^
internal/command/init.go:170:24: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck)
		diags = diags.Append(fmt.Errorf(view.PrepareMessage(views.InitConfigError)), earlyConfDiags)
		                     ^
internal/cloud/tfe_client_mock.go:521:80: SA1019: tfe.DataRetentionPolicy is deprecated: Use DataRetentionPolicyDeleteOlder instead. This is the original representation of a data retention policy, only present in TFE v202311-1 and v202312-1 (staticcheck)
func (m *MockOrganizations) ReadDataRetentionPolicy(context.Context, string) (*tfe.DataRetentionPolicy, error) {
                                                                               ^
internal/cloud/tfe_client_mock.go:525:102: SA1019: tfe.DataRetentionPolicySetOptions is deprecated: Use DataRetentionPolicyDeleteOlder variations instead (staticcheck)
func (m *MockOrganizations) SetDataRetentionPolicy(ctx context.Context, organization string, options tfe.DataRetentionPolicySetOptions) (*tfe.DataRetentionPolicy, error) {
                                                                                                     ^
internal/cloud/tfe_client_mock.go:2309:93: SA1019: tfe.DataRetentionPolicy is deprecated: Use DataRetentionPolicyDeleteOlder instead. This is the original representation of a data retention policy, only present in TFE v202311-1 and v202312-1 (staticcheck)
func (s *MockWorkspaces) ReadDataRetentionPolicy(ctx context.Context, workspaceID string) (*tfe.DataRetentionPolicy, error) {
                                                                                            ^
internal/cloud/tfe_client_mock.go:2313:98: SA1019: tfe.DataRetentionPolicySetOptions is deprecated: Use DataRetentionPolicyDeleteOlder variations instead (staticcheck)
func (s *MockWorkspaces) SetDataRetentionPolicy(ctx context.Context, workspaceID string, options tfe.DataRetentionPolicySetOptions) (*tfe.DataRetentionPolicy, error) {
                                                                                                 ^
internal/rpcapi/grpc_testing.go:34:25: SA1019: otelgrpc.UnaryServerInterceptor is deprecated: Use [NewServerHandler] instead. (staticcheck)
		grpc.UnaryInterceptor(otelgrpc.UnaryServerInterceptor()),
		                      ^
internal/rpcapi/grpc_testing.go:35:26: SA1019: otelgrpc.StreamServerInterceptor is deprecated: Use [NewServerHandler] instead. (staticcheck)
		grpc.StreamInterceptor(otelgrpc.StreamServerInterceptor()),
		                       ^
internal/rpcapi/grpc_testing.go:56:3: SA1019: grpc.WithInsecure is deprecated: use WithTransportCredentials and insecure.NewCredentials() instead. Will be supported throughout 1.x. (staticcheck)
		grpc.WithInsecure(),
		^
internal/rpcapi/grpc_testing.go:57:29: SA1019: otelgrpc.UnaryClientInterceptor is deprecated: Use [NewClientHandler] instead. (staticcheck)
		grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor()),
		                          ^
internal/rpcapi/grpc_testing.go:58:30: SA1019: otelgrpc.StreamClientInterceptor is deprecated: Use [NewClientHandler] instead. (staticcheck)
		grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor()),
		                           ^
internal/rpcapi/server.go:42:27: SA1019: otelgrpc.UnaryServerInterceptor is deprecated: Use [NewServerHandler] instead. (staticcheck)
				grpc.UnaryInterceptor(otelgrpc.UnaryServerInterceptor()),
				                      ^
internal/rpcapi/server.go:43:28: SA1019: otelgrpc.StreamServerInterceptor is deprecated: Use [NewServerHandler] instead. (staticcheck)
				grpc.StreamInterceptor(otelgrpc.StreamServerInterceptor()),
				                       ^
v1.59.1
internal/replacefile/writefile.go:8:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
internal/modsdir/manifest.go:10:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
internal/e2e/e2e.go:10:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
internal/backend/local/backend.go:10:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
internal/backend/remote/backend_plan.go:12:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
internal/backend/remote-state/http/client.go:13:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
internal/cloud/tfe_client_mock.go:521:80: SA1019: tfe.DataRetentionPolicy is deprecated: Use DataRetentionPolicyDeleteOlder instead. This is the original representation of a data retention policy, only present in TFE v202311-1 and v202312-1 (staticcheck)
func (m *MockOrganizations) ReadDataRetentionPolicy(context.Context, string) (*tfe.DataRetentionPolicy, error) {
                                                                               ^
internal/cloud/tfe_client_mock.go:525:102: SA1019: tfe.DataRetentionPolicySetOptions is deprecated: Use DataRetentionPolicyDeleteOlder variations instead (staticcheck)
func (m *MockOrganizations) SetDataRetentionPolicy(ctx context.Context, organization string, options tfe.DataRetentionPolicySetOptions) (*tfe.DataRetentionPolicy, error) {
                                                                                                     ^
internal/cloud/tfe_client_mock.go:2309:93: SA1019: tfe.DataRetentionPolicy is deprecated: Use DataRetentionPolicyDeleteOlder instead. This is the original representation of a data retention policy, only present in TFE v202311-1 and v202312-1 (staticcheck)
func (s *MockWorkspaces) ReadDataRetentionPolicy(ctx context.Context, workspaceID string) (*tfe.DataRetentionPolicy, error) {
                                                                                            ^
internal/cloud/tfe_client_mock.go:2313:98: SA1019: tfe.DataRetentionPolicySetOptions is deprecated: Use DataRetentionPolicyDeleteOlder variations instead (staticcheck)
func (s *MockWorkspaces) SetDataRetentionPolicy(ctx context.Context, workspaceID string, options tfe.DataRetentionPolicySetOptions) (*tfe.DataRetentionPolicy, error) {
                                                                                                 ^
internal/cloud/backend_plan.go:13:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
internal/cloud/tfe_client_mock.go:13:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
internal/cloud/state_test.go:9:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
internal/cloud/e2e/main_test.go:9:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
	"io/ioutil"
	^
internal/rpcapi/grpc_testing.go:34:25: SA1019: otelgrpc.UnaryServerInterceptor is deprecated: Use [NewServerHandler] instead. (staticcheck)
		grpc.UnaryInterceptor(otelgrpc.UnaryServerInterceptor()),
		                      ^
internal/rpcapi/grpc_testing.go:35:26: SA1019: otelgrpc.StreamServerInterceptor is deprecated: Use [NewServerHandler] instead. (staticcheck)
		grpc.StreamInterceptor(otelgrpc.StreamServerInterceptor()),
		                       ^
internal/rpcapi/grpc_testing.go:56:3: SA1019: grpc.WithInsecure is deprecated: use WithTransportCredentials and insecure.NewCredentials() instead. Will be supported throughout 1.x. (staticcheck)
		grpc.WithInsecure(),
		^
internal/rpcapi/grpc_testing.go:57:29: SA1019: otelgrpc.UnaryClientInterceptor is deprecated: Use [NewClientHandler] instead. (staticcheck)
		grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor()),
		                          ^
internal/rpcapi/grpc_testing.go:58:30: SA1019: otelgrpc.StreamClientInterceptor is deprecated: Use [NewClientHandler] instead. (staticcheck)
		grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor()),
		                           ^
internal/rpcapi/server.go:42:27: SA1019: otelgrpc.UnaryServerInterceptor is deprecated: Use [NewServerHandler] instead. (staticcheck)
				grpc.UnaryInterceptor(otelgrpc.UnaryServerInterceptor()),
				                      ^
internal/rpcapi/server.go:43:28: SA1019: otelgrpc.StreamServerInterceptor is deprecated: Use [NewServerHandler] instead. (staticcheck)
				grpc.StreamInterceptor(otelgrpc.StreamServerInterceptor()),
				                       ^
Command Mean [s] Min [s] Max [s] Relative
local 40.731 ± 0.215 40.433 41.006 1.04 ± 0.01
v1.59.1 39.003 ± 0.109 38.836 39.212 1.00

traefik/traefik

Command Mean [s] Min [s] Max [s] Relative
local 95.545 ± 0.644 94.512 97.060 1.08 ± 0.01
v1.59.1 88.659 ± 0.382 88.132 89.458 1.00

You can find the workflow here:
https://github.com/ldez/golangci-lint-bench/actions/runs/9785114327

@ldez ldez closed this as completed Jul 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant