Subject: | Named arguments do not treat undef arguments differently than unsupplied arguments |
There should be a way to distinguish whether a method was called as
$obj->method() vs. $obj->method(foo => undef) by examining @_.
This is possible when using positional arguments ($foo will be missing
in the arg list in the former case, and undef in the latter), but not
for named arguments.
Failing unit test is added as t/undef_method_arg2.t to my github -
https://github.com/karenetheridge/moosex-method-signatures/.
Somewhat orthogonally, I'm wondering if there should be a separate
lexical provided which allows one to examine the arguments passed as a
hash, so one can do defined vs. exists checks on the hash keys, as one
would do when calling the method in a more vanilla style (processing the
args as my ($self, %options) = @_; ).