Skip to content

Unclear error message when configuration attribute is not properly set #2230

Open
@Gedochao

Description

@Gedochao

I got the following error, when running scalafix with Scala 3.7.0-RC3:

error: The ExplicitResultTypes rule was compiled with a different Scala 3 minor (3.6) than the target sources (3.7). To fix this problem, make sure you are running the latest version of Scalafix. If that is the case, either change your build to stick to the Scala 3 LTS or Next versions supported by Scalafix, or enable ExplicitResultTypes.fetchScala3CompilerArtifactsOnVersionMismatch in .scalafix.conf in order to try to load what is needed dynamically.

But even with scalafix.conf:

rules = [
  DisableSyntax,
  LeakingImplicitClassVal,
  NoValInForComprehension,
  ExplicitResultTypes,
  OrganizeImports
]
ExplicitResultTypes.fetchScala3CompilerArtifactsOnVersionMismatch

I get:

Exception in thread "main" java.lang.IllegalArgumentException: 9 is not a valid line number, allowed [0..8]
        at metaconfig.Input.lineToOffset(Input.scala:33)
        at metaconfig.Position.lineContent(Position.scala:48)
        at metaconfig.Position.pretty(Position.scala:21)
        at metaconfig.ConfError$$anon$8.<init>(ConfError.scala:125)
        at metaconfig.ConfError$.parseError(ConfError.scala:125)
        at metaconfig.typesafeconfig.TypesafeConfig2Class$.gimmeSafeConf(TypesafeConfig2Class.scala:62)
        at metaconfig.typesafeconfig.TypesafeConfig2Class$.gimmeConfFromFile(TypesafeConfig2Class.scala:24)
        at metaconfig.Hocon$.fromInput(Hocon.scala:8)
        at metaconfig.Input$InputImplicits.parse(Input.scala:92)
        at metaconfig.Conf$.parseInput(Conf.scala:65)
        at scalafix.internal.v1.Args.fileConfig(Args.scala:235)
        at scalafix.internal.v1.Args.baseConfig(Args.scala:215)
        at scalafix.internal.v1.Args.validate(Args.scala:417)
        at scalafix.internal.v1.MainOps$.run(MainOps.scala:73)
        at scalafix.v1.Main$.run(Main.scala:34)
        at scalafix.v1.Main$.main(Main.scala:25)
        at scalafix.cli.Cli$.main(Cli.scala:9)
        at scalafix.cli.Cli.main(Cli.scala)

Running with Scala CLI nightly (same behaviour on v1.7.1), Scalafix 0.14.2:

scala-cli  fix . --power -S 3.7.0-RC3
# Running built-in rules...
# Writing project.scala
# Built-in rules completed.
# Running scalafix rules...
# Compiling project (Scala 3.7.0-RC3, JVM (17))
# Compiled project (Scala 3.7.0-RC3, JVM (17))
# Compiling project (test, Scala 3.7.0-RC3, JVM (17))
# Compiled project (test, Scala 3.7.0-RC3, JVM (17))
# Exception in thread "main" java.lang.IllegalArgumentException: 9 is not a valid line number, allowed [0..8]
#         at metaconfig.Input.lineToOffset(Input.scala:33)
#         at metaconfig.Position.lineContent(Position.scala:48)
#        at metaconfig.Position.pretty(Position.scala:21)
#        at metaconfig.ConfError$$anon$8.<init>(ConfError.scala:125)
#         at metaconfig.ConfError$.parseError(ConfError.scala:125)
#         at metaconfig.typesafeconfig.TypesafeConfig2Class$.gimmeSafeConf(TypesafeConfig2Class.scala:62)
#         at metaconfig.typesafeconfig.TypesafeConfig2Class$.gimmeConfFromFile(TypesafeConfig2Class.scala:24)
#         at metaconfig.Hocon$.fromInput(Hocon.scala:8)
#        at metaconfig.Input$InputImplicits.parse(Input.scala:92)
#         at metaconfig.Conf$.parseInput(Conf.scala:65)
#        at scalafix.internal.v1.Args.fileConfig(Args.scala:235)
#         at scalafix.internal.v1.Args.baseConfig(Args.scala:215)
#         at scalafix.internal.v1.Args.validate(Args.scala:417)
#         at scalafix.internal.v1.MainOps$.run(MainOps.scala:73)
#         at scalafix.v1.Main$.run(Main.scala:34)
#         at scalafix.v1.Main$.main(Main.scala:25)
#         at scalafix.cli.Cli$.main(Cli.scala:9)
#         at scalafix.cli.Cli.main(Cli.scala)
# scalafix rules failed.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions