scala-cli icon indicating copy to clipboard operation
scala-cli copied to clipboard

Ammonite-style imports can trigger unused import warnings even when used

Open kubukoz opened this issue 4 years ago • 1 comments

$ 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

kubukoz avatar Sep 05 '21 18:09 kubukoz

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

romanowski avatar Oct 25 '21 10:10 romanowski

Support for $ivy and $dep ammonite imports has been removed. (See #1678) So this issue doesn't apply anymore.

MaciejG604 avatar Jan 20 '23 15:01 MaciejG604