Closed
Description
Compiler version
3.3.1-RC5
3.4.0-RC1-bin-20230815-ca6a80e-NIGHTLY
Works in 3.3.0 -version` instead).
Bisect points to b7a7227
Minimized code
//> using options -Wunused:all
import scala.quoted.*
object model {
trait Transformer[Source, Dest] {
def transform(from: Source): Dest
}
object Transformer {
trait ForProduct[A, B] extends Transformer[A, B]
}
}
object Ops {
import model.Transformer // unused import false-positive
def unapply(using Quotes)(term: quotes.reflect.Term): Option[String] = {
term.asExpr match {
case '{
($transformer: Transformer.ForProduct[a, b]).transform($appliedTo)
} =>
Some("")
case other => None
}
}
}
Output
[warn] ./bisect/main.scala:14:16
[warn] unused import
[warn] import model.Transformer // unused import false-positive
[warn]
Expectation
Should not mark this import as unused