Skip to content

Lints should respect -Wmacros #12072

Closed
scala/scala
#10781
@neko-kai

Description

@neko-kai

reproduction steps

using Scala 2.13.3:

Scastie showing the warning: https://scastie.scala-lang.org/r3Fnc5YcSzeA91CKs06EtQ

// libraryDependencies += "com.github.alexarchambault" %% "scalacheck-shapeless_1.14" % "1.2.5"

import org.scalacheck.Arbitrary

final case class X(s: String)
object X {
  implicit val arb: Arbitrary[X] = org.scalacheck.derive.MkArbitrary[X].arbitrary
}

problem

Getting a warning:

Block result was adapted via implicit conversion (method apply) taking a by-name parameter

But the warning applies to the code generated by shapeless.Lazy macro, not user-written code. This makes it mandatory to disable the -Xlint:byname-implicit due to the massive amount of false positives whenever implicit derivation is used.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions