Skip to content

Support default values in case classes in Scala 3 #33

@lolgab

Description

@lolgab

Currently, default values in case classes are not handled correctly in Scala 3.
Example:

object Main {
  @mainargs.main
  case class Config(bar: String = "bar")

  def main(args: Array[String]): Unit = {
    val config = mainargs.ParserForClass[Config].constructOrExit(args)
    println(config)
  }
}

Scala 2 prints:

Missing argument: --bar <str>
Expected Signature: apply
  --bar <str>

Scala 2 prints:

Config(bar)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions