aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/alecthomas
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2024-11-11 11:41:38 +0100
committerTaras Madan <tarasmadan@google.com>2024-11-11 11:10:48 +0000
commit27e76fae2ee2d84dc7db63af1d9ed7358ba35b7a (patch)
treeed19c0e35e272b3c4cc5a2f2c595e035b2428337 /vendor/github.com/alecthomas
parent621e84e063b0e15b23e17780338627c509e1b9e8 (diff)
vendor: update
Diffstat (limited to 'vendor/github.com/alecthomas')
-rw-r--r--vendor/github.com/alecthomas/go-check-sumtype/README.md3
-rw-r--r--vendor/github.com/alecthomas/go-check-sumtype/check.go10
-rw-r--r--vendor/github.com/alecthomas/go-check-sumtype/config.go5
-rw-r--r--vendor/github.com/alecthomas/go-check-sumtype/renovate.json518
-rw-r--r--vendor/github.com/alecthomas/go-check-sumtype/run.go4
5 files changed, 33 insertions, 7 deletions
diff --git a/vendor/github.com/alecthomas/go-check-sumtype/README.md b/vendor/github.com/alecthomas/go-check-sumtype/README.md
index 36614ef40..2ccec4e84 100644
--- a/vendor/github.com/alecthomas/go-check-sumtype/README.md
+++ b/vendor/github.com/alecthomas/go-check-sumtype/README.md
@@ -86,7 +86,8 @@ mysumtype.go:18:2: exhaustiveness check failed for sum type 'MySumType': missing
```
Adding either a `default` clause or a clause to handle `*VariantB` will cause
-exhaustive checks to pass.
+exhaustive checks to pass. To prevent `default` clauses from automatically
+passing checks, set the `-default-signifies-exhasutive=false` flag.
As a special case, if the type switch statement contains a `default` clause
that always panics, then exhaustiveness checks are still performed.
diff --git a/vendor/github.com/alecthomas/go-check-sumtype/check.go b/vendor/github.com/alecthomas/go-check-sumtype/check.go
index 21d751af4..1a0a32517 100644
--- a/vendor/github.com/alecthomas/go-check-sumtype/check.go
+++ b/vendor/github.com/alecthomas/go-check-sumtype/check.go
@@ -39,7 +39,7 @@ func (e inexhaustiveError) Names() []string {
// check does exhaustiveness checking for the given sum type definitions in the
// given package. Every instance of inexhaustive case analysis is returned.
-func check(pkg *packages.Package, defs []sumTypeDef) []error {
+func check(pkg *packages.Package, defs []sumTypeDef, config Config) []error {
var errs []error
for _, astfile := range pkg.Syntax {
ast.Inspect(astfile, func(n ast.Node) bool {
@@ -47,7 +47,7 @@ func check(pkg *packages.Package, defs []sumTypeDef) []error {
if !ok {
return true
}
- if err := checkSwitch(pkg, defs, swtch); err != nil {
+ if err := checkSwitch(pkg, defs, swtch, config); err != nil {
errs = append(errs, err)
}
return true
@@ -67,8 +67,9 @@ func checkSwitch(
pkg *packages.Package,
defs []sumTypeDef,
swtch *ast.TypeSwitchStmt,
+ config Config,
) error {
- def, missing := missingVariantsInSwitch(pkg, defs, swtch)
+ def, missing := missingVariantsInSwitch(pkg, defs, swtch, config)
if len(missing) > 0 {
return inexhaustiveError{
Position: pkg.Fset.Position(swtch.Pos()),
@@ -87,6 +88,7 @@ func missingVariantsInSwitch(
pkg *packages.Package,
defs []sumTypeDef,
swtch *ast.TypeSwitchStmt,
+ config Config,
) (*sumTypeDef, []types.Object) {
asserted := findTypeAssertExpr(swtch)
ty := pkg.TypesInfo.TypeOf(asserted)
@@ -97,7 +99,7 @@ func missingVariantsInSwitch(
return nil, nil
}
variantExprs, hasDefault := switchVariants(swtch)
- if hasDefault && !defaultClauseAlwaysPanics(swtch) {
+ if config.DefaultSignifiesExhaustive && hasDefault && !defaultClauseAlwaysPanics(swtch) {
// A catch-all case defeats all exhaustiveness checks.
return def, nil
}
diff --git a/vendor/github.com/alecthomas/go-check-sumtype/config.go b/vendor/github.com/alecthomas/go-check-sumtype/config.go
new file mode 100644
index 000000000..759176eb7
--- /dev/null
+++ b/vendor/github.com/alecthomas/go-check-sumtype/config.go
@@ -0,0 +1,5 @@
+package gochecksumtype
+
+type Config struct {
+ DefaultSignifiesExhaustive bool
+}
diff --git a/vendor/github.com/alecthomas/go-check-sumtype/renovate.json5 b/vendor/github.com/alecthomas/go-check-sumtype/renovate.json5
new file mode 100644
index 000000000..77c7b016c
--- /dev/null
+++ b/vendor/github.com/alecthomas/go-check-sumtype/renovate.json5
@@ -0,0 +1,18 @@
+{
+ $schema: "https://docs.renovatebot.com/renovate-schema.json",
+ extends: [
+ "config:recommended",
+ ":semanticCommits",
+ ":semanticCommitTypeAll(chore)",
+ ":semanticCommitScope(deps)",
+ "group:allNonMajor",
+ "schedule:earlyMondays", // Run once a week.
+ ],
+ packageRules: [
+ {
+ matchPackageNames: ["golangci-lint"],
+ matchManagers: ["hermit"],
+ enabled: false,
+ },
+ ],
+}
diff --git a/vendor/github.com/alecthomas/go-check-sumtype/run.go b/vendor/github.com/alecthomas/go-check-sumtype/run.go
index fdcb643c5..f32942d7a 100644
--- a/vendor/github.com/alecthomas/go-check-sumtype/run.go
+++ b/vendor/github.com/alecthomas/go-check-sumtype/run.go
@@ -3,7 +3,7 @@ package gochecksumtype
import "golang.org/x/tools/go/packages"
// Run sumtype checking on the given packages.
-func Run(pkgs []*packages.Package) []error {
+func Run(pkgs []*packages.Package, config Config) []error {
var errs []error
decls, err := findSumTypeDecls(pkgs)
@@ -18,7 +18,7 @@ func Run(pkgs []*packages.Package) []error {
}
for _, pkg := range pkgs {
- if pkgErrs := check(pkg, defs); pkgErrs != nil {
+ if pkgErrs := check(pkg, defs, config); pkgErrs != nil {
errs = append(errs, pkgErrs...)
}
}