VirtusLab / scala-cli

Scala CLI is a command-line tool to interact with the Scala language. It lets you compile, run, test, and package your Scala code (and more!)
https://scala-cli.virtuslab.org
Apache License 2.0
546 stars 128 forks source link

Stale error reports are sometimes shown #1054

Open romanowski opened 2 years ago

romanowski commented 2 years ago

Version(s)

0.1.6

Describe the bug

When I run echo 'println("Hello")' | scala-cli _ and then echo 'println("Hello")' | scala-cli _ .sc I get:

> echo 'println("Hello")' | scala-cli _                                                                                                
Compiling project (Scala 3.1.2, JVM)
[error] <stdin>:1:1: Illegal start of toplevel definition
Error compiling project (Scala 3.1.2, JVM)
Compilation failed
> echo 'println("Hello")' | scala-cli _.sc 
[error] /Users/kromanowski/Library/Caches/ScalaCli/virtual-projects/7d/project-34b8e93c/.scala-build/project_103be31561_103be31561/src_generated/main/stdin.scala:1:1: Illegal start of toplevel definition
[error] ^^^^^^^
Hello

To Reproduce

Run:

echo 'println("Hello")' | scala-cli _   
echo 'println("Hello")' | scala-cli _.sc      

Expected behaviour No error message in the 2nd run.

lwronski commented 2 years ago

This is definitely a strange bug. When I run:

lwronski$ scala-demo % echo 'println("Hello")' | scala-cli _                          
Compiling project (Scala 3.1.2, JVM)
[error] <stdin>:1:1: Illegal start of toplevel definition
Error compiling project (Scala 3.1.2, JVM)
Compilation failed
lwronski$ scala-demo % ls 
Hello.scala
lwronski$ scala-demo % echo 'println("Hello")' | scala-cli -
Compiling project (Scala 3.1.2, JVM)
Compiled project (Scala 3.1.2, JVM)
Hello

it works, but if I run the scala-cli commands one by one it fails:

lwronski$ scala-demo % echo 'println("Hello")' | scala-cli _
Compiling project (Scala 3.1.2, JVM)
[error] <stdin>:1:1: Illegal start of toplevel definition
Error compiling project (Scala 3.1.2, JVM)
Compilation failed
lwronski$ scala-demo % echo 'println("Hello")' | scala-cli -
[error] /Users/lwronski/Library/Caches/ScalaCli/virtual-projects/7d/project-34b8e93c/.scala-build/project_103be31561_103be31561/src_generated/main/stdin.scala:1:1: Illegal start of toplevel definition
[error] ^^^^^^^
Hello
alexarchambault commented 2 years ago

Re-opening as https://github.com/VirtusLab/scala-cli/pull/1070 is only a workaround for that particular repro, the underlying issue isn't solved.