E3010

E3010#

Only labelled arguments can have default value.

Erroneous example#

fn greet(name : String = "World") -> Unit {
  //                   ^ Error: Only labelled arguments can have default value.
  println("Hello, " + name + "!")
}

Suggestion#

Use a labelled argument with ~ if you want to provide a default value:

fn greet(name~ : String = "World") -> Unit {
  println("Hello, " + name + "!")
}

fn main {
  // Can be called as:
  greet() // Uses default value "World"
  greet(name="Alice") // Uses provided value "Alice"
}

Or remove the default value if you want to keep it as a positional argument:

fn greet(name: String) -> Unit {
  println("Hello, " + name + "!")
}