class X::Parameter::Default
ErrorsCollection

class X::Parameter::Default

Compilation error due to an unallowed default value in a signature

class X::Parameter::Default does X::Comp { }

Compile-time error thrown when a parameter in a signature has default value, but isn't allowed to have one. That is the case with slurpy parameters (because a slurpy always binds successfully, even to zero arguments) and with mandatory parameters.

Example:

sub f($x! = 3{ }

dies with

===SORRY!===
Cannot put default on required parameter $x

And

sub f(*@ = 3{ }

dies with

===SORRY!===
Cannot put default on anonymous slurpy parameter

Methods

method how

Returns a string describing how the parameter is qualified that makes it disallow default values, for example "slurpy" or "mandatory".

method parameter

Returns the parameter name