wartremover/wartremover
Flexible Scala code linting tool
{ "createdAt": "2013-01-05T11:29:26Z", "defaultBranch": "master", "description": "Flexible Scala code linting tool", "fullName": "wartremover/wartremover", "homepage": "https://www.wartremover.org/", "language": "Scala", "name": "wartremover", "pushedAt": "2025-11-27T02:07:01Z", "stargazersCount": 1104, "topics": [ "compiler-plugin", "linter", "macros", "scala" ], "updatedAt": "2025-11-27T02:07:05Z", "url": "https://github.com/wartremover/wartremover"}WartRemover
Section titled “WartRemover”WartRemover is a flexible Scala code linting tool.
Documentation
Section titled “Documentation”Documentation for Wartremover is available here.
Reporting Issues
Section titled “Reporting Issues”It’s very useful to get the tree expanded by the Scala compiler,
rather than the original source. Adding the -Xprint:typer flag to
the Scala compiler will show code like the following:
// println("Hello world")package $line4 { object $read extends scala.AnyRef { def <init>(): $line4.$read.type = { $read.super.<init>(); () }; object $iw extends scala.AnyRef { def <init>(): type = { $iw.super.<init>(); () }; object $iw extends scala.AnyRef { def <init>(): type = { $iw.super.<init>(); () }; private[this] val res1: Unit = scala.this.Predef.println("Hello world"); <stable> <accessor> def res1: Unit = $iw.this.res1 } } }}Adding the generated code to an issue is very useful for debugging.