Updates #30322
This change adds the Unwrap method to NumError. NumError is the only custom error type of the strconv that has a nested exported error.
Change-Id: I8774886348880365a83f72a1d106276def27dffe
GitHub-Last-Rev:
712f3df8842f48f988cebfc527476781a7cf7140
GitHub-Pull-Request: golang/go#34213
Reviewed-on: https://go-review.googlesource.com/c/go/+/194563
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
return "strconv." + e.Func + ": " + "parsing " + Quote(e.Num) + ": " + e.Err.Error()
}
+func (e *NumError) Unwrap() error { return e.Err }
+
func syntaxError(fn, str string) *NumError {
return &NumError{fn, str, ErrSyntax}
}
}
}
+func TestNumErrorUnwrap(t *testing.T) {
+ err := &NumError{Err: ErrSyntax}
+ if !errors.Is(err, ErrSyntax) {
+ t.Error("errors.Is failed, wanted success")
+ }
+}
+
func BenchmarkParseInt(b *testing.B) {
b.Run("Pos", func(b *testing.B) {
benchmarkParseInt(b, 1)