Skip to content

Regression in arainko/ducktape: -Wunused:all false-positive in quotes #18409

Closed
@WojciechMazur

Description

@WojciechMazur

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

Metadata

Metadata

Assignees

Labels

area:lintingLinting warnings enabled with -W or -Xlintitype:bugregressionThis worked in a previous version but doesn't anymore

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions