Skip to content

Commit f70352f

Browse files
authored
Upgrade golangci-lint and enable more rules (#421)
1 parent 4a45981 commit f70352f

130 files changed

Lines changed: 1624 additions & 1316 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/checks.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ jobs:
2424
nix develop --ignore-environment --keep HOME . --command task lint
2525
# Adding golang-ci lint as a separate step as the Nix package is currently broken
2626
- name: golangci-lint
27-
uses: golangci/golangci-lint-action@v6
27+
uses: golangci/golangci-lint-action@v8
2828
with:
29-
version: v1.61
29+
version: v2.1.6
3030
args: --timeout=10m
3131

3232
test:
@@ -77,6 +77,7 @@ jobs:
7777
nix develop --ignore-environment --command task install-webui
7878
nix develop --ignore-environment --keep HOME --keep POSTGRES_PASSWORD . --command task migrate
7979
nix develop --ignore-environment --keep HOME --keep POSTGRES_PASSWORD . --command task gen
80+
nix develop --ignore-environment --keep HOME . --command go fmt ./...
8081
nix develop --ignore-environment . --command task i18n-extract
8182
nix develop --ignore-environment . --command task build-webui
8283
env:

.golangci.yml

Lines changed: 139 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
version: "2"
12
linters:
23
enable:
34
- asasalint
@@ -7,74 +8,155 @@ linters:
78
- canonicalheader
89
- contextcheck
910
- copyloopvar
11+
# - cyclop
12+
# - dupl
13+
- durationcheck
14+
# - err113
15+
- errcheck
1016
- errchkjson
17+
- errname
1118
- errorlint
19+
- exptostd
20+
- fatcontext
21+
- forbidigo
22+
# - forcetypeassert
23+
# - funlen
24+
- ginkgolinter
25+
- gocheckcompilerdirectives
26+
- gochecksumtype
27+
# - gocognit
1228
- goconst
13-
- goimports
29+
- gocritic
30+
# - gocyclo
31+
# - godot
32+
# - godox
33+
- gomoddirectives
34+
- goprintffuncname
35+
# - gosec
1436
- gosmopolitan
37+
- govet
38+
- grouper
39+
- iface
1540
- importas
41+
- ineffassign
1642
- intrange
43+
- loggercheck
44+
# - maintidx
45+
- makezero
46+
- mirror
1747
- musttag
48+
# - nestif
49+
- nilerr
50+
- nilnesserr
51+
- nilnil
1852
- noctx
53+
- nolintlint
1954
- paralleltest
55+
- prealloc
56+
- predeclared
57+
# - promlinter
58+
- protogetter
59+
- reassign
2060
- revive
21-
- stylecheck
61+
- rowserrcheck
62+
- sqlclosecheck
63+
- staticcheck
64+
- tagalign
2265
- testifylint
66+
# - testpackage
2367
- thelper
68+
- tparallel
69+
- unconvert
70+
- unused
71+
- usestdlibvars
72+
- usetesting
73+
- wastedassign
74+
- whitespace
2475
- wsl
25-
linters-settings:
26-
revive:
76+
settings:
77+
revive:
78+
rules:
79+
- name: argument-limit
80+
- name: blank-imports
81+
- name: bool-literal-in-expr
82+
- name: confusing-results
83+
- name: constant-logical-expr
84+
- name: context-as-argument
85+
- name: context-keys-type
86+
- name: deep-exit
87+
- name: defer
88+
- name: dot-imports
89+
arguments:
90+
- allowedPackages:
91+
- github.com/onsi/ginkgo/v2
92+
- github.com/onsi/gomega
93+
- name: duplicated-imports
94+
- name: early-return
95+
- name: empty-block
96+
- name: empty-lines
97+
- name: error-naming
98+
- name: error-return
99+
- name: error-strings
100+
- name: errorf
101+
- name: exported
102+
- name: if-return
103+
- name: identical-branches
104+
- name: increment-decrement
105+
- name: indent-error-flow
106+
- name: line-length-limit
107+
arguments:
108+
- 120
109+
- name: nested-structs
110+
- name: package-comments
111+
- name: range
112+
- name: range-val-address
113+
- name: range-val-in-closure
114+
- name: receiver-naming
115+
- name: redefines-builtin-id
116+
- name: string-of-int
117+
- name: struct-tag
118+
- name: superfluous-else
119+
- name: time-naming
120+
- name: unconditional-recursion
121+
- name: unexported-naming
122+
- name: unexported-return
123+
- name: unhandled-error
124+
- name: unnecessary-stmt
125+
- name: unreachable-code
126+
- name: unused-parameter
127+
- name: unused-receiver
128+
- name: var-declaration
129+
- name: var-naming
130+
exclusions:
131+
generated: lax
132+
presets:
133+
- comments
134+
- common-false-positives
135+
- legacy
136+
- std-error-handling
27137
rules:
28-
- name: argument-limit
29-
- name: blank-imports
30-
- name: bool-literal-in-expr
31-
- name: confusing-results
32-
- name: constant-logical-expr
33-
- name: context-as-argument
34-
- name: context-keys-type
35-
- name: deep-exit
36-
- name: defer
37-
- name: dot-imports
38-
- name: duplicated-imports
39-
- name: early-return
40-
- name: empty-block
41-
- name: empty-lines
42-
- name: error-naming
43-
- name: error-return
44-
- name: error-strings
45-
- name: errorf
46-
- name: exported
47-
- name: if-return
48-
- name: identical-branches
49-
- name: increment-decrement
50-
- name: indent-error-flow
51-
- name: line-length-limit
52-
arguments:
53-
- 120
54-
- name: nested-structs
55-
- name: package-comments
56-
- name: range
57-
- name: range-val-address
58-
- name: range-val-in-closure
59-
- name: receiver-naming
60-
- name: redefines-builtin-id
61-
- name: string-of-int
62-
- name: struct-tag
63-
- name: superfluous-else
64-
- name: time-naming
65-
- name: unconditional-recursion
66-
- name: unexported-naming
67-
- name: unexported-return
68-
- name: unhandled-error
69-
- name: unnecessary-stmt
70-
- name: unreachable-code
71-
- name: unused-parameter
72-
- name: unused-receiver
73-
- name: var-declaration
74-
- name: var-naming
75-
issues:
76-
exclude-rules:
77-
# For some reason this picks up a lot of false positives for methods on generic types:
78-
- path: 'internal/protocol/dht/ktable/(.+)\.go'
79-
linters:
80-
- unused
138+
- linters:
139+
- unused
140+
path: internal/protocol/dht/ktable/(.+)\.go
141+
paths:
142+
- third_party$
143+
- builtin$
144+
- examples$
145+
formatters:
146+
enable:
147+
- gci
148+
- gofmt
149+
- gofumpt
150+
- goimports
151+
- golines
152+
settings:
153+
golines:
154+
max-len: 120
155+
tab-len: 8
156+
shorten-comments: true
157+
exclusions:
158+
generated: lax
159+
paths:
160+
- third_party$
161+
- builtin$
162+
- examples$

Taskfile.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ tasks:
55
cmds:
66
- task gen-go
77
- task gen-gorm
8-
- task gen-torznab-categories
98
- task gen-gql-enums
109
- task gen-gql
1110
- task gen-protoc
@@ -21,10 +20,6 @@ tasks:
2120
cmds:
2221
- go run ./internal/dev gorm gen
2322

24-
gen-torznab-categories:
25-
cmds:
26-
- go run ./internal/torznab/gencategories/gencategories.go
27-
2823
gen-gql-enums:
2924
cmds:
3025
- go run ./internal/gql/enums/gen/genenums.go

go.mod

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ require (
2828
github.com/joho/godotenv v1.5.1
2929
github.com/mgdigital/gorm-cache/v2 v2.0.0-20230912113927-f2a8dd92a386
3030
github.com/mozillazg/go-unidecode v0.2.0
31+
github.com/onsi/ginkgo/v2 v2.23.3
32+
github.com/onsi/gomega v1.36.2
3133
github.com/pressly/goose/v3 v3.24.1
3234
github.com/prometheus/client_golang v1.20.5
3335
github.com/rs/cors v1.11.1
@@ -53,6 +55,12 @@ require (
5355
gorm.io/plugin/dbresolver v1.5.3
5456
)
5557

58+
require (
59+
github.com/go-logr/logr v1.4.2 // indirect
60+
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
61+
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect
62+
)
63+
5664
require (
5765
cel.dev/expr v0.19.1 // indirect
5866
dario.cat/mergo v1.0.1 // indirect
@@ -162,12 +170,12 @@ require (
162170
go.uber.org/dig v1.18.0 // indirect
163171
go.uber.org/multierr v1.11.0 // indirect
164172
golang.org/x/arch v0.13.0 // indirect
165-
golang.org/x/crypto v0.32.0 // indirect
173+
golang.org/x/crypto v0.33.0 // indirect
166174
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect
167-
golang.org/x/mod v0.22.0 // indirect
168-
golang.org/x/net v0.34.0 // indirect
169-
golang.org/x/term v0.28.0 // indirect
170-
golang.org/x/tools v0.29.0 // indirect
175+
golang.org/x/mod v0.23.0 // indirect
176+
golang.org/x/net v0.35.0 // indirect
177+
golang.org/x/term v0.29.0 // indirect
178+
golang.org/x/tools v0.30.0 // indirect
171179
golang.org/x/tools/cmd/cover v0.1.0-deprecated // indirect
172180
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect
173181
google.golang.org/genproto/googleapis/rpc v0.0.0-20250106144421-5f5ef82da422 // indirect

go.sum

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,8 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb
176176
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
177177
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
178178
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
179+
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
180+
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
179181
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
180182
github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
181183
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
@@ -190,6 +192,8 @@ github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9
190192
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
191193
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
192194
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
195+
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
196+
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
193197
github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss=
194198
github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
195199
github.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM=
@@ -235,6 +239,8 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
235239
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
236240
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
237241
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo=
242+
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
243+
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
238244
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
239245
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
240246
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -381,7 +387,11 @@ github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdh
381387
github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
382388
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
383389
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
390+
github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0=
391+
github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM=
384392
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
393+
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
394+
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
385395
github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
386396
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
387397
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
@@ -553,8 +563,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
553563
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
554564
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
555565
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
556-
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
557-
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
566+
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
567+
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
558568
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
559569
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA=
560570
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
@@ -567,8 +577,8 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
567577
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
568578
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
569579
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
570-
golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
571-
golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
580+
golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM=
581+
golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
572582
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
573583
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
574584
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -587,8 +597,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
587597
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
588598
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
589599
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
590-
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
591-
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
600+
golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
601+
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
592602
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
593603
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
594604
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -640,8 +650,8 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn
640650
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
641651
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
642652
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
643-
golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
644-
golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
653+
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
654+
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
645655
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
646656
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
647657
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -665,8 +675,8 @@ golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
665675
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
666676
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
667677
golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4=
668-
golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE=
669-
golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588=
678+
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
679+
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
670680
golang.org/x/tools/cmd/cover v0.1.0-deprecated h1:Rwy+mWYz6loAF+LnG1jHG/JWMHRMMC2/1XX3Ejkx9lA=
671681
golang.org/x/tools/cmd/cover v0.1.0-deprecated/go.mod h1:hMDiIvlpN1NoVgmjLjUJE9tMHyxHjFX7RuQ+rW12mSA=
672682
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

0 commit comments

Comments
 (0)