This is currently only supported by Delve.
</p>
-<h2 id="tools">Tools</h2>
-
<h3 id="test">Test</h3>
<p>
user task/region analysis page.
</p>
+<h3 id="gofmt">Gofmt</h3>
+
+<p>
+ One minor detail of the default formatting of Go source code has changed.
+ When formatting expression lists with inline comments, the comments were
+ aligned according to a heuristic.
+ However, in some cases the alignment would be split up too easily, or
+ introduce too much whitespace.
+ The heuristic has been changed to behave better for human-written code.
+</p>
+
+<p>
+ Note that these kinds of minor updates to gofmt are expected from time to
+ time.
+ In general, systems that need consistent formatting of Go source code should
+ use a specific version of the <code>gofmt</code> binary.
+ See the <a href="/pkg/go/format/">go/format</a> package godoc for more
+ information.
+</p>
+
<h2 id="runtime">Runtime</h2>
<p><!-- CL 85887 -->
// license that can be found in the LICENSE file.
// Package format implements standard formatting of Go source.
+//
+// Note that formatting of Go source code changes over time, so tools relying on
+// consistent formatting should execute a specific version of the gofmt binary
+// instead of using this package. That way, the formatting will be stable, and
+// the tools won't need to be recompiled each time gofmt changes.
+//
+// For example, pre-submit checks that use this package directly would behave
+// differently depending on what Go version each developer uses, causing the
+// check to be inherently fragile.
package format
import (
// space as src), and the result is indented by the same amount as the first
// line of src containing code. Imports are not sorted for partial source files.
//
-// Caution: Tools relying on consistent formatting based on the installed
-// version of gofmt (for instance, such as for presubmit checks) should
-// execute that gofmt binary instead of calling Source.
-//
func Source(src []byte) ([]byte, error) {
fset := token.NewFileSet()
file, sourceAdj, indentAdj, err := parse(fset, "", src, true)