This pull request is not ready for prime time, but I wanted to push it so you can work on top of it and so we don't duplicate efforts.
This pull request...
Adds a Method::Signatures compatibility wrapper in t/lib
Updates t/foreign/Method-Signatures/ to use it
Updates those tests to match the latest from Method-Signatures
Implements $foo!
Implements `$foo? = "default"
It has these problems...
The -fsanitize code was chopped out because there's no way to turn it off.
named.t is failing because method wrong( $foo, $bar = undef, :$named ) {} should be disallowed, I don't think the checker takes optional named parameters into account.
type_check.t is failing because unknown types are being interpreted as class methods.
slurpy.t is failing because F::P considers all slurpies optional even with @foo!.
too_many_args.t is failing because...
no signature should be the same as an empty signature
$obj->method( foo => 23, foo => 42 ) should be an error in M::S.
This pull request is not ready for prime time, but I wanted to push it so you can work on top of it and so we don't duplicate efforts.
This pull request...
$foo!
It has these problems...
-fsanitize
code was chopped out because there's no way to turn it off.method wrong( $foo, $bar = undef, :$named ) {}
should be disallowed, I don't think the checker takes optional named parameters into account.@foo!
.$obj->method( foo => 23, foo => 42 )
should be an error in M::S.