-
Notifications
You must be signed in to change notification settings - Fork 18.3k
Closed
Labels
FrozenDueToAgeNeedsDecisionFeedback is required from experts, contributors, and/or the community before a change can be made.Feedback is required from experts, contributors, and/or the community before a change can be made.release-blocker
Milestone
Description
What version of Go are you using (go version
)?
$ go version go version devel +adcb2b1e7a Wed Jul 3 23:08:27 2019 +0000 linux/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env
)?
go env
Output
$ go env GO111MODULE="on" GOARCH="amd64" GOBIN="" GOCACHE="/home/myitcv/.cache/go-build" GOENV="/home/myitcv/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/home/myitcv/gostuff" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/home/myitcv/gos" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/home/myitcv/gos/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/home/myitcv/gostuff/src/github.com/myitcv/playground/go.mod" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build876576551=/tmp/go-build -gno-record-gcc-switches"
What did you do?
Consider the following:
package main
import (
"go/ast"
"go/parser"
"go/token"
)
func main() {
src := `
package p
type S struct {
// First comment
// Second comment
Name string
}
`
fset := token.NewFileSet()
f, err := parser.ParseFile(fset, "", src, parser.ParseComments)
if err != nil {
panic(err)
}
ast.Print(fset, f.Comments)
}
Under go1.12.6
this prints:
0 []*ast.CommentGroup (len = 2) {
1 . 0: *ast.CommentGroup {
2 . . List: []*ast.Comment (len = 1) {
3 . . . 0: *ast.Comment {
4 . . . . Slash: 5:2
5 . . . . Text: "// First comment"
6 . . . }
7 . . }
8 . }
9 . 1: *ast.CommentGroup {
10 . . List: []*ast.Comment (len = 1) {
11 . . . 0: *ast.Comment {
12 . . . . Slash: 7:2
13 . . . . Text: "// Second comment"
14 . . . }
15 . . }
16 . }
17 }
On tip
this shows:
0 []*ast.CommentGroup (len = 1) {
1 . 0: *ast.CommentGroup {
2 . . List: []*ast.Comment (len = 2) {
3 . . . 0: *ast.Comment {
4 . . . . Slash: 5:2
5 . . . . Text: "// First comment"
6 . . . }
7 . . . 1: *ast.Comment {
8 . . . . Slash: 7:2
9 . . . . Text: "// Second comment"
10 . . . }
11 . . }
12 . }
13 }
What did you expect to see?
Non-contiguous comments not to be grouped.
What did you see instead?
Non-contiguous comments grouped.
Is this an intended side effect of https://go-review.googlesource.com/c/go/+/161177?
dmitshur, mvdan, beoran and subash-a
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsDecisionFeedback is required from experts, contributors, and/or the community before a change can be made.Feedback is required from experts, contributors, and/or the community before a change can be made.release-blocker