cockroachdb / cockroachdb/errors
Add errors.AsType helper (Go 1.26+)
- Lenguaje dominante
- Go
- Estrellas
- 2.5k
- Forks
- 74
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
## Motivation
Go 1.26 introduces `errors.AsType`, a generic helper that makes typed error extraction more concise and safer than the classic `errors.As(err, &target)` pattern without reflect.
`cockroachdb/errors` is widely used as a drop-in replacement for the standard library `errors` for wrapping, stack traces, and utilities. Adding an `AsType`-style API (or mirroring stdlib when building with Go 1.26+) would:
- reduce boilerplate (`var t *T; if errors.As(err, &t) { ... }`)
- improve readability and reduce misuse
- align the package with modern Go idioms (generic helpers)
- help projects keep a single “errors surface” without mixing stdlib + `cockroachdb/errors`
## Request
Add `errors.AsType` to this package with semantics matching Go 1.26 `errors.AsType`.
- On Go 1.26+: delegate to stdlib `errors.AsType`.
- Use `go:build` constraints to keep compatibility clean.
```go
//go:build go1.26
package errors
import (
sterrors "errors"
)
// AsType delegates to the standard library implementation on Go 1.26+.
func AsType[T any](err error) (T, bool) {
return sterrors.AsType[T](err)
}
```
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.