cockroachdb / cockroachdb/errors
Add errors.AsType helper (Go 1.26+)
- 主要言語
- Go
- スター
- 2.5k
- フォーク
- 74
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
## 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)
}
```
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
評価
この issue はまだ評価されていません。