|author||Dominik Honnef <firstname.lastname@example.org>||Sun Jul 28 15:19:43 2019 +0200|
|committer||Robert Griesemer <email@example.com>||Wed Sep 11 20:34:54 2019 +0000|
cmd/gofmt: don't turn nil slices into empty slices during rewriting The go/ast package uses and guarantees nil slices for optional elements that weren't present in the parsed source code, such as the list of return values of a function. Packages using go/ast rely on this attribute and check for nils explicitly. One such package is go/printer. In the presence of empty slices instead of nil slices, it generates invalid code, such as "case :" instead of "default:". The issues that this CL fixes are all manifestations of that problem, each for a different syntactic element. Fixes #33103 Fixes #33104 Fixes #33105 Change-Id: I219f95a7da820eaf697a4ee227d458ab6e4a80bd Reviewed-on: https://go-review.googlesource.com/c/go/+/187917 Reviewed-by: Daniel Martí <firstname.lastname@example.org> Reviewed-by: Robert Griesemer <email@example.com> Run-TryBot: Daniel Martí <firstname.lastname@example.org> TryBot-Result: Gobot Gobot <email@example.com>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Official binary distributions are available at https://golang.org/dl/.
If a binary distribution is not available for your combination of operating system and architecture, visit https://golang.org/doc/install/source or load doc/install-source.html in your web browser for source installation instructions.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://golang.org/wiki/Questions for a list of places to ask questions about the Go language.