3 use warnings FATAL => 'all';
10 : (skip_all => "Moose, Test::Deep required for testing types")
13 # assigned to by each 'foo' method
20 use Function::Parameters qw(:strict);
26 Maybe[Str] :$foo_b = undef) {
35 use Function::Parameters qw(:strict);
41 Maybe[Str] $foo_b = undef) {
52 my $positional = Positional->new;
53 $positional->foo('str', undef);
62 'positional: explicit undef shows up in @_ correctly',
65 $positional->foo('str');
73 'positional: omitting an argument results in no entry in @_',
76 my $named = Named->new;
77 $named->foo(foo_a => 'str', foo_b => undef);
86 'named: explicit undef shows up in @_ correctly',
89 $named->foo(foo_a => 'str');
92 # local $TODO = 'this fails... should work the same as for positional args.';
99 'named: omitting an argument results in no entry in @_',
102 #print "### named captured args: ", Dumper($captured_args);