mirror of
https://github.com/golang/go
synced 2024-11-15 00:40:31 -07:00
ff2a57ba92
(Second attempt at CL 529816 (f1d6050
), reverted in CL 571695 (1304d98
) due to broken longtest builder.) The tests analyser reports structural problems in test declarations. Presumably most of these would be caught by go test itself, which compiles and runs (some subset of) the tests, but Benchmark and Fuzz functions are executed less frequently and may benefit more from static checks. A number of tests of "go vet" needed to be updated, either to avoid mistakes caught by the analyzer, or to suppress the analyzer when the mistakes were intended. Also, reflect the change in go test help message. + release note Fixes golang/go#44251 Change-Id: I1c311086815fe55a66cce001eaab9b41e27d1144 Reviewed-on: https://go-review.googlesource.com/c/go/+/603476 Auto-Submit: Alan Donovan <adonovan@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
856 B
856 B
Tools
Go command
Cgo
Cgo currently refuses to compile calls to a C function which has multiple
incompatible declarations. For instance, if f
is declared as both void f(int)
and void f(double)
, cgo will report an error instead of possibly generating an
incorrect call sequence for f(0)
. New in this release is a better detector for
this error condition when the incompatible declarations appear in different
files. See #67699.
Vet
The new tests
analyzer reports common mistakes in declarations of
tests, fuzzers, benchmarks, and examples in test packages, such as
malformed names, incorrect signatures, or examples that document
non-existent identifiers. Some of these mistakes may cause tests not
to run.
This analyzer is among the subset of analyzers that are run by go test
.