This reverts CL 253037.
Reason for revert: The recommended way to check for a type of error is errors.As. API changes should also start with a proposal.
Change-Id: I62896717aa47ed491c2c4775d2b05d80e5e9cde3
Reviewed-on: https://go-review.googlesource.com/c/go/+/254837
Trust: Damien Neil <dneil@google.com>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
func (e *SyntaxError) Error() string { return e.msg }
-// Is returns true if target is a SyntaxError.
-func (e *SyntaxError) Is(target error) bool {
- _, ok := target.(*SyntaxError)
- return ok
-}
-
// A scanner is a JSON scanning state machine.
// Callers call scan.reset and then pass bytes in one at a time
// by calling scan.step(&scan, c) for each byte.
import (
"bytes"
- "errors"
- "fmt"
"math"
"math/rand"
"reflect"
}
}
-func TestSyntaxErrorIs(t *testing.T) {
- err := fmt.Errorf("apackage: %w: failed to parse struct", &SyntaxError{"some error", 43})
- if !errors.Is(err, &SyntaxError{}) {
- t.Fatalf("%v should be unwrapped to a SyntaxError", err)
- }
-}
-
func diff(t *testing.T, a, b []byte) {
for i := 0; ; i++ {
if i >= len(a) || i >= len(b) || a[i] != b[i] {