+++ /dev/null
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file contains tests for the deepequalerrors checker.
-
-package a
-
-import (
- "io"
- "os"
- "reflect"
-)
-
-type myError int
-
-func (myError) Error() string { return "" }
-
-func bad() error { return nil }
-
-type s1 struct {
- s2 *s2
- i int
-}
-
-type myError2 error
-
-type s2 struct {
- s1 *s1
- errs []*myError2
-}
-
-func hasError() {
- var e error
- var m myError2
- reflect.DeepEqual(bad(), e) // want `avoid using reflect.DeepEqual with errors`
- reflect.DeepEqual(io.EOF, io.EOF) // want `avoid using reflect.DeepEqual with errors`
- reflect.DeepEqual(e, &e) // want `avoid using reflect.DeepEqual with errors`
- reflect.DeepEqual(e, m) // want `avoid using reflect.DeepEqual with errors`
- reflect.DeepEqual(e, s1{}) // want `avoid using reflect.DeepEqual with errors`
- reflect.DeepEqual(e, [1]error{}) // want `avoid using reflect.DeepEqual with errors`
- reflect.DeepEqual(e, map[error]int{}) // want `avoid using reflect.DeepEqual with errors`
- reflect.DeepEqual(e, map[int]error{}) // want `avoid using reflect.DeepEqual with errors`
- // We catch the next not because *os.PathError implements error, but because it contains
- // a field Err of type error.
- reflect.DeepEqual(&os.PathError{}, io.EOF) // want `avoid using reflect.DeepEqual with errors`
-
-}
-
-func notHasError() {
- reflect.ValueOf(4) // not reflect.DeepEqual
- reflect.DeepEqual(3, 4) // not errors
- reflect.DeepEqual(5, io.EOF) // only one error
- reflect.DeepEqual(myError(1), io.EOF) // not types that implement error
-}