scala-cli
scala-cli copied to clipboard
Ammonite-style imports can trigger unused import warnings even when used
$ touch Main.scala
$ scala-cli compile Main.scala --scala 2.13.6 --scalac-option -Ywarn-unused:imports
Compiling project (Scala 2.13.6, JVM)
Compiled project (Scala 2.13.6, JVM)
$ echo 'import $ivy.`org.typelevel::cats-kernel:2.6.1`; object Main { println(cats.kernel.Semigroup) }' > Main.scala
$ scala-cli compile Main.scala --scala 2.13.6 --scalac-option -Ywarn-unused:imports
Compiling project (Scala 2.13.6, JVM)
[warn] ./Main.scala:1:1: Unused import
[warn] ^^^^^^^^^^^^^^
Compiled project (Scala 2.13.6, JVM)
$ scala-cli compile Main.scala --scala 2.13.6 --scalac-option -Ywarn-unused:imports --scalac-option -Xfatal-warnings
Compiling project (Scala 2.13.6, JVM)
[error] ./Main.scala:1:1: Unused import
[error] ^^^^^^^^^^^^^^
Error compiling project (Scala 2.13.6, JVM)
launcher version: https://github.com/VirtuslabRnD/scala-cli/releases/download/nightly/scala-cli-x86_64-apple-darwin.gz (downloaded at the time nightly pointed to https://github.com/VirtuslabRnD/scala-cli/commit/c4852a769f7de6534a6e2f4e2110ab2a7b32308e)
system: macOS catalina
It seems like a bug in our source postprocessing. Since our preferred way to define dependencies are using directives this does not have a high piority
Support for $ivy and $dep ammonite imports has been removed. (See #1678) So this issue doesn't apply anymore.