Handle the case where there is syntactically only one actual argument
passed to errors.As.
Following the unmarshal check, we ignore this case.
Change-Id: Ia7d77d5b3c9eb5416b37a141104c9ad7ed290b5f
Reviewed-on: https://go-review.googlesource.com/c/tools/+/178159
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
No longer report a problem if target's type is interface{}.
This avoids false positives like
```
var e error
var i interface{} = &e
... errors.As(..., i) ...
```
Change-Id: Ibf6e7163147248305130a5e650f92b80e34a44de
Reviewed-on: https://go-review.googlesource.com/c/tools/+/175717
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
asmdecl:
- MOVW $x+0(FP) is OK if x is big, because $x is an address
(happens in internal/cpu, golang.org/x/sys/cpu, runtime)
- ignore TEXT lines in comments
(happens in runtime/internal/atomic)
- wasm's CallImport instruction writes return results
(happens in syscall)
- allow write out-of-bounds (SP) references in NOFRAME functions
(happens in runtime)
- recognize "NOP SP" as an SP "write" to disable SP bounds checking
- 'go test' in passes/asmdecl was not testing all architectures; fix that
stdmethods:
- ignore WriteTo if obviously not io.WriterTo (as in go/types and runtime/pprof)
errorsas:
- don't complain about package errors testing invalid calls
structtag:
- don't complain about encoding/json and encoding/xml testing invalid tags
unmarshal:
- don't complain about encoding/gob, encoding/json, encoding/xml testing invalid calls
For golang/go#31916.
Fixesgolang/go#25822.
Change-Id: I322c08b5991ffc4995112b8ea945161a4c5193ce
Reviewed-on: https://go-review.googlesource.com/c/tools/+/176097
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
Add a vet pass that checks that the second argument to errors.As
is a pointer to a type implementing error.
Change-Id: I0924e634cbea0664c8728f0e74213b924f8498e6
Reviewed-on: https://go-review.googlesource.com/c/tools/+/168938
Reviewed-by: Damien Neil <dneil@google.com>