]> Cypherpunks repositories - gostls13.git/commitdiff
doc.Example should not worry about unresolved blank identifiers
authorMostyn Bramley-Moore <mostyn@antipode.se>
Wed, 8 Aug 2018 21:34:43 +0000 (21:34 +0000)
committerRobert Griesemer <gri@golang.org>
Wed, 8 Aug 2018 21:37:36 +0000 (21:37 +0000)
https://golang.org/pkg/bufio/#example_Scanner_custom is not directly
runnable in the playground via godoc, but if I copy+paste the code into
https://play.golang.org/ then it runs just fine.

This seems to be due to the blank identifier being considered unresolved
in the following line in the example:

_, err = strconv.ParseInt(string(token), 10, 32)

But that's the whole point of blank identifiers- they're not supposed
to be resolved.  So let's skip adding the blank identifier to
doc.playExample's unresolved map.

Fixes #26447

Change-Id: I52bc7d99be1d14a61dc012d10c18349d52ba4c51
GitHub-Last-Rev: 9172e9dc1378b0f37f96fc2e1ade4dda9d848398
GitHub-Pull-Request: golang/go#26448
Reviewed-on: https://go-review.googlesource.com/124775
Reviewed-by: Robert Griesemer <gri@golang.org>
src/go/doc/example.go

index 70d2ecb8d956051675a0ed6a3e0bc99cd6b1a0c3..5b40bb0fb25fb0eb78599342220c9eb3f9658c9d 100644 (file)
@@ -188,7 +188,7 @@ func playExample(file *ast.File, f *ast.FuncDecl) *ast.File {
        inspectFunc = func(n ast.Node) bool {
                switch e := n.(type) {
                case *ast.Ident:
-                       if e.Obj == nil {
+                       if e.Obj == nil && e.Name != "_" {
                                unresolved[e.Name] = true
                        } else if d := topDecls[e.Obj]; d != nil {
                                if !hasDepDecls[d] {