Skip to content

Confusing import error message #16653

Closed
@kubukoz

Description

@kubukoz

Compiler version

3.2.1

Minimized code

//> using scala "3.2.1"
import demo.implicits._
import demo._
object Demo {}

Output

[error] ./main.scala:2:8: Not found: demo
[error] import demo.implicists._
[error]        ^^^^
[error] ./main.scala:3:8: import prefix is not a pure expression
[error] import demo._
[error]        ^^^^

Expectation

[error] ./main.scala:2:8: Not found: demo
[error] import demo.implicits._
[error]        ^^^^
[error] ./main.scala:3:8: Not found: demo
[error] import demo._
[error]        ^^^^

The "import prefix is not a pure expression" message is confusing here, I believe both messages should just say "demo" is not found.

Additionally, if the second import is correct but the first isn't:

//> using scala "3.2.1"
import demo.implicits._
import Predef._
object Demo {}

The output also shows this:

[error] ./main.scala:2:8: Not found: demo
[error] import demo.implicists._
[error]        ^^^^
[error] ./main.scala:3:8: import prefix is not a pure expression
[error] import Predef._
[error]        ^^^^^^

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:reportingError reporting including formatting, implicit suggestions, etcitype:bug

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions