-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Deprecate/remove interfacer from supported linters #541
Comments
Hi,
|
I second this. Interfacer produces false positives, too. |
…olangci-lint#541 Signed-off-by: Ken Sipe <[email protected]>
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. |
Interfacer is used to create a fair comparison with #1689 is a dupe |
gometalinter is now archived so a fair comparison with a dead project seems impossible. |
Agreed - knowing that, |
Feel free to take over this. Thanks 💯 |
Is it worth leaving this open until v2 and the removal PR's start coming in? I'd probably just close it because the interfacer is deprecated properly now (thanks @SVilgelm ) |
I think, it's better to create an issue and label it as v2 and we will re-open this PR later |
There should be a way to disable this warning for those of us that still want to use things like interfacer with golangci-lint. As it is, since the introduction of this, our tests now fail because of this (spurious to us) warning. |
@richardwilkes as the linter is deprecated by the author itself, we recommend disabling this linter. There is an internal hidden flag to hide this message but without any warranty to be stable in the future. |
Ah... what is that flag? Not 100% necessary, as I found I can filter the stderr easily enough... but I actually find both interfacer and maligned to be useful. And the option to use govet's fieldalignment is a non-starter, as it is just plain wrong in its analysis. |
maligned has been also deprecated by the author itself: https://github.com/mdempsky/maligned maligned has been replaced by
https://golangci-lint.run/usage/configuration/ govet:
enable:
- fieldalignment or govet:
enable-all: false |
Those linters will be removed in the future, so it's time to disable it from your configuration 😉 |
Understood... however, removing a linter that provides a valuable service (like maligned) when the replacement doesn't actually work correctly, is not good. It doesn't seem to understand the correct sizes of struct fields and issues warnings that are incorrect. Example -- for this struct:
govet will report "fieldalignment: struct with 48 pointer bytes could be 40 (govet)" However, using unsafe.Sizeof() shows the struct is actually 56 bytes, with 16 bytes consumed for each string and 24 for the slice. With 8 byte alignment on my platform, there is nothing that can be improved. maligned works fine for this same case. |
I suggest you open an issue here: https://github.com/golang/go/issues/new/choose The issues related to |
* Replace 'maligned' with 'fieldalignment' [1] * Remove 'interfacer' [2] * Enable linting against go test files as well * Disable 'funlen' linter for go table-driven tests [1] golangci/golangci-lint#1765 [2] golangci/golangci-lint#541
Here fieldalignment is a note:
|
This commit updates golangci-lint and removes the interfacer check because it was marked as deprecated and will be removed. See golangci/golangci-lint#541 for more information. Signed-off-by: William Van Hevelingen <[email protected]>
This commit updates golangci-lint and removes the interfacer check because it was marked as deprecated and will be removed. See golangci/golangci-lint#541 for more information. Signed-off-by: William Van Hevelingen <[email protected]>
This commit updates golangci-lint and removes the interfacer check because it was marked as deprecated and will be removed. See golangci/golangci-lint#541 for more information. Signed-off-by: William Van Hevelingen <[email protected]> Signed-off-by: Julie Vogelman <[email protected]>
This commit updates golangci-lint and removes the interfacer check because it was marked as deprecated and will be removed. See golangci/golangci-lint#541 for more information. Signed-off-by: William Van Hevelingen <[email protected]> Signed-off-by: Julie Vogelman <[email protected]>
This commit updates golangci-lint and removes the interfacer check because it was marked as deprecated and will be removed. See golangci/golangci-lint#541 for more information. Signed-off-by: William Van Hevelingen <[email protected]> Signed-off-by: Usama Kaleem <[email protected]>
This commit updates golangci-lint and removes the interfacer check because it was marked as deprecated and will be removed. See golangci/golangci-lint#541 for more information. Signed-off-by: William Van Hevelingen <[email protected]> Signed-off-by: Aaron Weisberg <[email protected]>
This commit updates golangci-lint and removes the interfacer check because it was marked as deprecated and will be removed. See golangci/golangci-lint#541 for more information. Signed-off-by: William Van Hevelingen <[email protected]>
This commit updates golangci-lint and removes the interfacer check because it was marked as deprecated and will be removed. See golangci/golangci-lint#541 for more information. Signed-off-by: William Van Hevelingen <[email protected]>
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. |
Related to the deprecation process #1987 |
mvdan/interfacer@c200402
The text was updated successfully, but these errors were encountered: