Skip to content

eed3si9n/scalafix-noinfer

Repository files navigation

scalafix-noinfer

scalafix-noinfer is a Scalafix rule to warn about undesired type inference. It offers a replacement for the NoInfer rule that was built into Scalafix 0.5.

See the blog post stricter Scala with -Xlint, -Xfatal-warnings, and Scalafix.

Installation

In a project with Scalafix enabled (0.9.0 or later):

build.sbt

ThisBuild / scalafixDependencies +=
  "com.eed3si9n.fix" %% "scalafix-noinfer" % "0.1.0-M1"

lazy val root = (project in file(".")).
  settings(
    name := "hello",
    addCompilerPlugin(scalafixSemanticdb),
    scalacOptions ++= List(
      "-P:semanticdb:synthetics:on",
      "-Yrangepos",
    ),
  )

.scalafix.conf

rules = [
  NoInfer
]

Usage

Run scalafix or scalafix NoInfer with sbt.

Configuration

By default this rule forbids the inference of scala.Any, scala.AnyVal, java.io.Serializable, scala.Serializable, and scala.Product. You can customize this using .scalafix.conf as follows:

rules = [
  NoInfer
]
NoInfer.disabledTypes = [
  scala.Any
  scala.AnyVal
  scala.Serializable
  java.io.Serializable
  scala.Product
  scala.Predef.any2stringadd
]

License

Apache-2.0

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages