Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggested Edits from Linters do not get printed #2134

Closed
4 tasks done
ifaisalalam opened this issue Jul 28, 2021 · 3 comments
Closed
4 tasks done

Suggested Edits from Linters do not get printed #2134

ifaisalalam opened this issue Jul 28, 2021 · 3 comments
Labels
area: auto-fix enhancement New feature or improvement

Comments

@ifaisalalam
Copy link

Welcome

  • Yes, I'm using a binary release within 2 latest major releases. Only such installations are supported.
  • Yes, I've searched similar issues on GitHub and didn't find any.
  • Yes, I've included all information below (version, config, etc).
  • Yes, I've tried with the standalone linter if available. (https://golangci-lint.run/usage/linters/)

Description of the problem

I have enabled the fieldalignment analyzer in govet linter.

It only prints the message on running golangci-lint run and does not print the suggested edit.

Actual output:

$ golangci-lint run
query/query.go:23:12: fieldalignment: struct with 80 pointer bytes could be 64 (govet)
type query struct {

Expected output:

$ golangci-lint run
query/query.go:23:12: fieldalignment: struct with 80 pointer bytes could be 64

    ```
struct {
        validator Validator
        filter    map[string]interface{}
        context   map[string]interface{}
        relations map[string]Query
        Name      string
        fields    []string
}
``` (govet)
type query struct {

Version of golangci-lint

$ golangci-lint --version
golangci-lint has version 1.41.1 built from a207480 on 2021-06-19T21:15:29Z

Configuration file

$ cat .golangci.yaml
# Refer to golangci-lint's example config file for more options and information:
# https://github.com/golangci/golangci-lint/blob/master/.golangci.example.yml

run:
  timeout: 5m
  modules-download-mode: readonly

linters:
  disable-all: true
  enable:
    - deadcode
    - errcheck
    - goimports
    - revive
    - govet
    - gosimple
    - ineffassign
    - structcheck
    - staticcheck

linters-settings:
  revive:
    ignore-generated-header: true
    severity: warning
    rules:
      - name: atomic
      - name: line-length-limit
        severity: error
        arguments: [ 120 ]
      - name: indent-error-flow
      - name: exported
        disabled: true

  govet:
    check-shadowing: true
    enable-all: true

  goimports:
    # put imports beginning with prefix after 3rd-party packages;
    # it's a comma-separated list of prefixes
    local-prefixes: github.com/Unacademy/golang-core

issues:
  exclude-use-default: false
  max-issues-per-linter: 0
  max-same-issues: 0
  new: false
  fix: true

# output configuration options
output:
  # colored-line-number|line-number|json|tab|checkstyle|code-climate|junit-xml|github-actions
  # default is "colored-line-number"
  format: colored-line-number

  # print lines of code with issue, default is true
  print-issued-lines: true

  # print linter name in the end of issue text, default is true
  print-linter-name: true

  # make issues output unique by line, default is true
  uniq-by-line: true

  # add a prefix to the output file references; default is no prefix
  path-prefix: ""

  # sorts results by: filepath, line and column
  sort-results: true

Go environment

$ go version && go env
go version go1.16.6 darwin/amd64
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/faisalalam/Library/Caches/go-build"
GOENV="/Users/faisalalam/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/faisalalam/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/faisalalam/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.16.6/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.16.6/libexec/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.6"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/faisalalam/Projects/awesomeProject/awesome-golang-project/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 -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/rq/zxvgzfz571jbggj49937clw80000gq/T/go-build1842288699=/tmp/go-build -gno-record-gcc-switches -fno-common"

Verbose output of running

$ golangci-lint cache clean
$ golangci-lint run -v
INFO [config_reader] Config search paths: [./ /Users/faisalalam/Projects/awesomeProject/awesome-golang-project /Users/faisalalam/Projects/awesomeProject /Users/faisalalam/Projects /Users/faisalalam /Users /] 
INFO [config_reader] Used config file .golangci.yaml 
INFO [lintersdb] Active 9 linters: [deadcode errcheck goimports gosimple govet ineffassign revive staticcheck structcheck] 
INFO [loader] Go packages loading at mode 575 (files|compiled_files|exports_file|imports|name|types_sizes|deps) took 484.567578ms 
INFO [runner/filename_unadjuster] Pre-built 0 adjustments in 2.674233ms 
INFO [linters context/goanalysis] analyzers took 982.743746ms with top 10 stages: buildir: 165.056101ms, buildssa: 148.963479ms, goimports: 35.261444ms, the_only_name: 29.883768ms, cgocall: 18.661757ms, fact_deprecated: 18.037046ms, unusedresult: 16.696724ms, findcall: 16.383728ms, printf: 15.776863ms, structcheck: 13.43742ms 
INFO [runner] Issues before processing: 2, after processing: 1 
INFO [runner] Processors filtering stat (out/in): filename_unadjuster: 2/2, path_shortener: 1/1, cgo: 2/2, uniq_by_line: 1/1, diff: 1/1, max_per_file_from_linter: 1/1, path_prettifier: 2/2, skip_dirs: 2/2, autogenerated_exclude: 2/2, exclude: 2/2, exclude-rules: 2/2, nolint: 1/2, max_same_issues: 1/1, max_from_linter: 1/1, severity-rules: 1/1, skip_files: 2/2, identifier_marker: 2/2, source_code: 1/1, path_prefixer: 1/1, sort_results: 1/1 
INFO [runner] processing took 644.793µs with stages: nolint: 370.323µs, path_prettifier: 92.178µs, autogenerated_exclude: 63.985µs, identifier_marker: 50.85µs, source_code: 40.997µs, skip_dirs: 17.253µs, cgo: 2.525µs, uniq_by_line: 2.099µs, path_shortener: 804ns, filename_unadjuster: 665ns, sort_results: 526ns, max_per_file_from_linter: 474ns, max_same_issues: 338ns, max_from_linter: 326ns, diff: 295ns, exclude-rules: 284ns, skip_files: 271ns, exclude: 257ns, severity-rules: 216ns, path_prefixer: 127ns 
INFO [runner] linters took 450.5344ms with stages: goanalysis_metalinter: 449.742351ms 
INFO fixer took 0s with no stages                 
query/query.go:23:12: fieldalignment: struct with 80 pointer bytes could be 64 (govet)
type query struct {
           ^
INFO File cache stats: 1 entries of total size 4.7KiB 
INFO Memory: 11 samples, avg is 127.0MB, max is 272.3MB 
INFO Execution took 952.550114ms  

Code example or link to a public repository

type query struct {
	filter    map[string]interface{}
	Name      string
	context   map[string]interface{}
	relations map[string]Query
	fields    []string
	validator Validator
}

type Query interface {
	AddFilter(map[string]interface{}) Query
	WithContext(map[string]interface{}) Query
	AddFields(...string) Query
	IncludeRelations(...Query) Query
	Build() (interface{}, error)
}

type Validator interface {
	ValidateFilter(map[string]interface{}) error
	ValidateFields(...string) error
	ValidateRelations(...string) error
}
@ifaisalalam ifaisalalam added the bug Something isn't working label Jul 28, 2021
@boring-cyborg
Copy link

boring-cyborg bot commented Jul 28, 2021

Hey, thank you for opening your first Issue ! 🙂 If you would like to contribute we have a guide for contributors.

ifaisalalam added a commit to ifaisalalam/golangci-lint that referenced this issue Jul 28, 2021
The tool did not print suggested edits by the linter when displaying
the issues. If there is suggested edits by the linter, it should
be displayed along with the issue.

Closes golangci#2134
ifaisalalam added a commit to ifaisalalam/golangci-lint that referenced this issue Jul 28, 2021
The tool did not print suggested edits by the linter when displaying
the issues. If there is suggested edits by the linter, it should
be displayed along with the issue.

Closes golangci#2134
ifaisalalam added a commit to ifaisalalam/golangci-lint that referenced this issue Jul 28, 2021
The tool did not print suggested edits by the linter when displaying
the issues. If there is suggested edits by the linter, it should
be displayed along with the issue.

Closes golangci#2134
@ldez ldez added enhancement New feature or improvement and removed bug Something isn't working labels Jul 28, 2021
ifaisalalam added a commit to ifaisalalam/golangci-lint that referenced this issue Jul 28, 2021
The tool did not print suggested edits by the linter when displaying
the issues. If there is suggested edits by the linter, it should
be displayed along with the issue.

Closes golangci#2134
ifaisalalam added a commit to ifaisalalam/golangci-lint that referenced this issue Jul 29, 2021
The tool did not print suggested edits by the linter when displaying
the issues. If there is suggested edits by the linter, it should
be displayed along with the issue.

Closes golangci#2134
ifaisalalam added a commit to Unacademy/golangci-lint that referenced this issue Jul 29, 2021
The tool did not print suggested edits by the linter when displaying
the issues. If there is suggested edits by the linter, it should
be displayed along with the issue.

Closes golangci#2134
@stale
Copy link

stale bot commented Aug 13, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale No recent correspondence or work activity label Aug 13, 2022
@stale stale bot removed the stale No recent correspondence or work activity label Sep 21, 2022
@ldez
Copy link
Member

ldez commented Dec 21, 2024

I consider the problem as fixed by #5232

@ldez ldez closed this as completed Dec 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: auto-fix enhancement New feature or improvement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants