Conversation
People keep commiting unused imports, which are the easiest to check, so create some noise if they do that.
740bdda to
34f91a2
Compare
|
Probably there's a better way to exclude some linting from junit subproject (where some tests exploit |
|
I've no idea why as of yet, but our performance benchmarks regressed after this change. |
|
Ah, the problem is that our Before: After: |
Regressed in scala#6964 Before: ``` $ sbt setupPublishCore 'show library/scalacOptions' 'show reflect/scalacOptions' 'show compiler/test:scalacOptions' 'show test/scalacOptions' [info] Loading global plugins from /Users/jz/.sbt/0.13/plugins [info] Loading project definition from /Users/jz/code/scala/project/project [info] Loading project definition from /Users/jz/code/scala/project [info] Resolving key references (11393 settings) ... [info] *** Welcome to the sbt build definition for Scala! *** [info] Check README.md for more information. [info] *** Welcome to the sbt build definition for Scala! *** [info] Check README.md for more information. [info] * -Xlint:-nullary-override,-inaccessible,_ [success] Total time: 0 s, completed 02/08/2018 12:33:38 PM [info] * -Xlint:-nullary-override,-inaccessible,_ [success] Total time: 0 s, completed 02/08/2018 12:33:38 PM [info] * -Xlint:-nullary-override,-inaccessible,_ [success] Total time: 0 s, completed 02/08/2018 12:33:38 PM [info] * [success] Total time: 0 s, completed 02/08/2018 12:33:38 PM ``` After: ``` $ sbt setupPublishCore 'show library/scalacOptions' 'show reflect/scalacOptions' 'show compiler/test:scalacOptions' 'show test/scalacOptions' [info] Loading global plugins from /Users/jz/.sbt/0.13/plugins [info] Loading project definition from /Users/jz/code/scala/project/project [info] Loading project definition from /Users/jz/code/scala/project [info] Resolving key references (11393 settings) ... [info] *** Welcome to the sbt build definition for Scala! *** [info] Check README.md for more information. [info] *** Welcome to the sbt build definition for Scala! *** [info] Check README.md for more information. [info] * -opt:l:inline [info] * -opt-inline-from:scala/** [info] * -Xlint:-nullary-override,-inaccessible,_ [info] * -sourcepath [info] * /Users/jz/code/scala/src/library [success] Total time: 0 s, completed 02/08/2018 12:31:18 PM [info] * -opt:l:inline [info] * -opt-inline-from:scala/** [info] * -Xlint:-nullary-override,-inaccessible,_ [success] Total time: 0 s, completed 02/08/2018 12:31:18 PM [info] * -opt:l:inline [info] * -opt-inline-from:scala/** [info] * -Xlint:-nullary-override,-inaccessible,_ [success] Total time: 0 s, completed 02/08/2018 12:31:18 PM [info] * -opt:l:inline [info] * -opt-inline-from:scala/** [success] Total time: 0 s, completed 02/08/2018 12:31:18 PM ```
|
#6997 6997 |
|
Those warnings are extremely annoying. Actual error messages hiding between pages of warnings are harder to find than Waldo. I don't think they should be enabled before someone actually fixes them. In many cases it's not desirable to fix them, for example in tests you routinely assign to an unused variable just to ensure that something is assignment-compatible. |
|
The implicit evidence warnings go away after restarr. There are just a few real warnings (besides imports). I don't mind submitting a reversion, but I think in longer term, with so much churn in the code base, linting is useful, and it should be tuned for The implicitNotFound errors are put behind Modulo typos: #7069 |
Enforce some linting
People keep commiting unused imports, which are
the easiest to check, so create some noise if they do that.
Mitigate the warnings; other warnings are mitigated in other PRs.