diff --git a/go/analysis/passes/fieldalignment/fieldalignment.go b/go/analysis/passes/fieldalignment/fieldalignment.go index ca1bc536d9..ca7ceb2108 100644 --- a/go/analysis/passes/fieldalignment/fieldalignment.go +++ b/go/analysis/passes/fieldalignment/fieldalignment.go @@ -79,6 +79,7 @@ func fieldalignment(pass *analysis.Pass, node *ast.StructType, typ *types.Struct // TODO: Preserve comment, for now get rid of them. // See https://github.com/golang/go/issues/20744 f.Comment = nil + f.Doc = nil if len(f.Names) <= 1 { flat = append(flat, f) continue diff --git a/go/analysis/passes/fieldalignment/testdata/src/a/a.go b/go/analysis/passes/fieldalignment/testdata/src/a/a.go index b47ee19c03..463b4cb18f 100644 --- a/go/analysis/passes/fieldalignment/testdata/src/a/a.go +++ b/go/analysis/passes/fieldalignment/testdata/src/a/a.go @@ -35,3 +35,12 @@ type NoNameBad struct { // want "struct of size 20 could be 16" y int32 z byte } + +type WithComments struct { // want "struct of size 8 could be 4" + // doc style comment + a uint32 // field a comment + b [0]byte // field b comment + // other doc style comment + + // and a last comment +} diff --git a/go/analysis/passes/fieldalignment/testdata/src/a/a.go.golden b/go/analysis/passes/fieldalignment/testdata/src/a/a.go.golden index 34fc21b9fd..c1c75e2a12 100644 --- a/go/analysis/passes/fieldalignment/testdata/src/a/a.go.golden +++ b/go/analysis/passes/fieldalignment/testdata/src/a/a.go.golden @@ -35,3 +35,8 @@ type NoNameBad struct { x byte z byte } + +type WithComments struct { + b [0]byte + a uint32 +}