Sub-Multi-Tiny v0.000013 Perl 5 v5.8.9 MSWin32-x86-multi-thread
- Status
- Pass
- From
- NONAME
- Dist
-
Sub-Multi-Tiny v0.000013
- Platform
- Perl 5 v5.8.9 MSWin32-x86-multi-thread
- Date
- 2022-10-30 07:31:00
- ID
- 236e510c-6dfd-1014-a3b4-f00d032c038b
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language. See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org
--
Dear Christopher White,
This is a computer-generated report for Sub-Multi-Tiny-0.000013
on perl 5.8.9, created by CPAN-Reporter-1.2018.
Thank you for uploading your work to CPAN. Congratulations!
All tests were successful.
Sections of this report:
* Tester comments
* Program output
* Prerequisites
* Environment and other context
------------------------------
TESTER COMMENTS
------------------------------
Additional comments from tester:
none provided
------------------------------
PROGRAM OUTPUT
------------------------------
Output from 'C:\Strawberry\perl\bin\perl.exe ./Build test':
# Testing Sub::Multi::Tiny 0.000013, Perl 5.008009, C:\Strawberry\perl\bin\perl.exe
t/00_compile.t ............. ok
# ########################################
# t/10_lexer.t
t/10_lexer.t ............... ok
# ########################################
# t/20_parser.t
t/20_parser.t .............. ok
# ########################################
# t/30_synopsis.t
# Target main::my_multi package Sub::Multi::Tiny (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:144)
# main::my_multi using dispatcher Sub::Multi::Tiny::Dispatcher::Default (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:180)
# Making main::my_multi() (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:184)
# Making main::my_multi attr M (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:202)
# M code:
# #line 231 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# package main::my_multi;
#
# #line 237 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# use Attribute::Handlers;
# use Sub::Multi::Tiny::Util qw(_hlog);
# ##use Data::Dumper;
#
# sub M :ATTR(CODE,RAWDATA) {
# _hlog { require Data::Dumper;
# 'In ', __PACKAGE__, "::M: \n",
# Data::Dumper->Dump([\@_], ['attr_args']) } 2;
#
# my ($package, $symbol, $referent, $attr, $data, $phase,
# $filename, $linenum) = @_;
# my $funcname = "$package\::" . *{$symbol}{NAME};
#
# _hlog { # Code from Attribute::Handlers, license perl_5
# ref($referent),
# $funcname,
# "($referent)", "was just declared",
# "and ascribed the ${attr} attribute",
# "with data ($data)",
# "in phase $phase",
# "in file $filename at line $linenum"
# } 2;
#
# #line 264 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# die 'Dispatchers already created - please file a bug report'
# if Sub::Multi::Tiny::_dispatchers_created();
#
# my $multi_def = $_multisubs{'main::my_multi'};
#
# #line 272 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $hrSig = Sub::Multi::Tiny::_parse_arglist($data, $funcname);
# Sub::Multi::Tiny::_check_and_inflate_sig($hrSig, $multi_def,
# $funcname, $package, $filename, $linenum);
#
# #line 278 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
#
# #line 282 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $info = {
# code => $referent,
# args => $hrSig->{parms}, # TODO remove eventually
# sig => $hrSig,
#
# # For error messages
# filename => $filename,
# linenum => $linenum,
# candidate_name => $funcname
# };
# push @{$multi_def->{impls}}, $info;
#
# } #M
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:297)
# Making main::my_multi::my_multi stub (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:212)
# In main::my_multi ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::my_multi::first (CODE(0x252f924)) was just declared and ascribed the M attribute with data ($foo, $bar) in phase CHECK in file t/30_synopsis.t at line 11 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::my_multi::first: $foo, $bar (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::my_multi ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::my_multi::second (CODE(0x2521e8c)) was just declared and ascribed the M attribute with data ($foo) in phase CHECK in file t/30_synopsis.t at line 15 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::my_multi::second: $foo (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# Sub::Multi::Tiny in INIT block (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:96)
# Making default dispatcher for: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# },
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$bar'
# }
# ]
# },
# 'filename' => 't/30_synopsis.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 11,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# }
# ]
# },
# 'filename' => 't/30_synopsis.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 15,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'my_multi',
# 'possible_params' => {
# '$foo' => 1,
# '$bar' => 1
# },
# 'defined_in' => 'main::my_multi'
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/Default.pm:50)
# $mpc_defined_in = 'main::my_multi';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# },
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$bar'
# }
# ]
# },
# 'filename' => 't/30_synopsis.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 11,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::my_multi::first():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo
# ,
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::bar
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::my_multi';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# }
# ]
# },
# 'filename' => 't/30_synopsis.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 15,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::my_multi::second():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# _complete_dispatcher making Sub::Multi::Tiny::Dispatcher::Default dispatcher with args: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# },
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$bar'
# }
# ]
# },
# 'filename' => 't/30_synopsis.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 11,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# }
# ]
# },
# 'filename' => 't/30_synopsis.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 15,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'my_multi',
# 'possible_params' => {
# '$foo' => 1,
# '$bar' => 1
# },
# 'defined_in' => 'main::my_multi'
# };
# $inner_code = '#line 74 "C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny/Dispatcher/Default.pm"
# # Find the candidate
# my $arity = scalar @_;
# $candidate = $data[0]->{$arity};
# die "No candidate found for main::my_multi() with arity " .
# (scalar @_) unless $candidate;
# $copier = $data[1]->{$arity};
#
# ';
# $data = {
# '1' => $multisub->{'impls'}[1]{'code'},
# '2' => $multisub->{'impls'}[0]{'code'}
# };
# $VAR4 = {
# '1' => sub { "DUMMY" },
# '2' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:200)
# Sub::Multi::Tiny::Dispatcher::Default dispatcher for main::my_multi():
# #line 204 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
# # Find the candidate
# my ($candidate, $copier);
#
# #line 74 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/Default.pm"
# # Find the candidate
# my $arity = scalar @_;
# $candidate = $data[0]->{$arity};
# die "No candidate found for main::my_multi() with arity " .
# (scalar @_) unless $candidate;
# $copier = $data[1]->{$arity};
#
#
#
# # Save the present values of the parameters
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_foo = $main::my_multi::foo;
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_bar = $main::my_multi::bar;
#
# #line 225 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# # Create the guard
# my $guard = Guard::guard {
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo = $saved_foo;
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::bar = $saved_bar;
#
#
#
# }; #End of guard
#
# #line 234 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
#
# # Copy the parameters into the variables the candidate
# # will access them from
# &$copier; # $copier gets @_ automatically
#
# # Pass the guard so the parameters will be reset once \$candidate
# # finishes running.
# @_ = ($guard);
#
# # Invoke the selected candidate
# goto &$candidate;
# } #dispatcher
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:248)
# Positional copier invocation 1:
# $copier_args = [
# 2,
# 5
# ];
# After positional copier invocation 1:
# $main::my_multi::foo = 2
# $main::my_multi::bar = 5
# Positional copier invocation 2:
# $copier_args = [
# 5,
# 2
# ];
# After positional copier invocation 2:
# $main::my_multi::foo = 5
# $main::my_multi::bar = 2
# Positional copier invocation 3:
# $copier_args = [
# 1337
# ];
# After positional copier invocation 3:
# $main::my_multi::foo = 1337
t/30_synopsis.t ............ ok
# ########################################
# t/31_ambiguous_dispatch.t
# Target main::my_multi package Sub::Multi::Tiny (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:144)
# main::my_multi using dispatcher Sub::Multi::Tiny::Dispatcher::Default (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:180)
# Making main::my_multi() (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:184)
# Making main::my_multi attr M (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:202)
# M code:
# #line 231 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# package main::my_multi;
#
# #line 237 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# use Attribute::Handlers;
# use Sub::Multi::Tiny::Util qw(_hlog);
# ##use Data::Dumper;
#
# sub M :ATTR(CODE,RAWDATA) {
# _hlog { require Data::Dumper;
# 'In ', __PACKAGE__, "::M: \n",
# Data::Dumper->Dump([\@_], ['attr_args']) } 2;
#
# my ($package, $symbol, $referent, $attr, $data, $phase,
# $filename, $linenum) = @_;
# my $funcname = "$package\::" . *{$symbol}{NAME};
#
# _hlog { # Code from Attribute::Handlers, license perl_5
# ref($referent),
# $funcname,
# "($referent)", "was just declared",
# "and ascribed the ${attr} attribute",
# "with data ($data)",
# "in phase $phase",
# "in file $filename at line $linenum"
# } 2;
#
# #line 264 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# die 'Dispatchers already created - please file a bug report'
# if Sub::Multi::Tiny::_dispatchers_created();
#
# my $multi_def = $_multisubs{'main::my_multi'};
#
# #line 272 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $hrSig = Sub::Multi::Tiny::_parse_arglist($data, $funcname);
# Sub::Multi::Tiny::_check_and_inflate_sig($hrSig, $multi_def,
# $funcname, $package, $filename, $linenum);
#
# #line 278 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
#
# #line 282 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $info = {
# code => $referent,
# args => $hrSig->{parms}, # TODO remove eventually
# sig => $hrSig,
#
# # For error messages
# filename => $filename,
# linenum => $linenum,
# candidate_name => $funcname
# };
# push @{$multi_def->{impls}}, $info;
#
# } #M
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:297)
# Making main::my_multi::my_multi stub (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:212)
# In main::my_multi ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::my_multi::first (CODE(0x25be1c4)) was just declared and ascribed the M attribute with data ($foo, $bar) in phase CHECK in file t/31_ambiguous_dispatch.t at line 13 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::my_multi::first: $foo, $bar (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::my_multi ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::my_multi::second (CODE(0x25c58ec)) was just declared and ascribed the M attribute with data ($foo) in phase CHECK in file t/31_ambiguous_dispatch.t at line 17 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::my_multi::second: $foo (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# Sub::Multi::Tiny in INIT block (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:96)
# Making default dispatcher for: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# },
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$bar'
# }
# ]
# },
# 'filename' => 't/31_ambiguous_dispatch.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 13,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# }
# ]
# },
# 'filename' => 't/31_ambiguous_dispatch.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 17,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'my_multi',
# 'possible_params' => {
# '$foo' => 1,
# '$bar' => 1
# },
# 'defined_in' => 'main::my_multi'
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/Default.pm:50)
# $mpc_defined_in = 'main::my_multi';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# },
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$bar'
# }
# ]
# },
# 'filename' => 't/31_ambiguous_dispatch.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 13,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::my_multi::first():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo
# ,
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::bar
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::my_multi';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# }
# ]
# },
# 'filename' => 't/31_ambiguous_dispatch.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 17,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::my_multi::second():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# _complete_dispatcher making Sub::Multi::Tiny::Dispatcher::Default dispatcher with args: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# },
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$bar'
# }
# ]
# },
# 'filename' => 't/31_ambiguous_dispatch.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 13,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$foo'
# }
# ]
# },
# 'filename' => 't/31_ambiguous_dispatch.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 17,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'my_multi',
# 'possible_params' => {
# '$foo' => 1,
# '$bar' => 1
# },
# 'defined_in' => 'main::my_multi'
# };
# $inner_code = '#line 74 "C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny/Dispatcher/Default.pm"
# # Find the candidate
# my $arity = scalar @_;
# $candidate = $data[0]->{$arity};
# die "No candidate found for main::my_multi() with arity " .
# (scalar @_) unless $candidate;
# $copier = $data[1]->{$arity};
#
# ';
# $data = {
# '1' => $multisub->{'impls'}[1]{'code'},
# '2' => $multisub->{'impls'}[0]{'code'}
# };
# $VAR4 = {
# '1' => sub { "DUMMY" },
# '2' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:200)
# Sub::Multi::Tiny::Dispatcher::Default dispatcher for main::my_multi():
# #line 204 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
# # Find the candidate
# my ($candidate, $copier);
#
# #line 74 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/Default.pm"
# # Find the candidate
# my $arity = scalar @_;
# $candidate = $data[0]->{$arity};
# die "No candidate found for main::my_multi() with arity " .
# (scalar @_) unless $candidate;
# $copier = $data[1]->{$arity};
#
#
#
# # Save the present values of the parameters
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_foo = $main::my_multi::foo;
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_bar = $main::my_multi::bar;
#
# #line 225 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# # Create the guard
# my $guard = Guard::guard {
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo = $saved_foo;
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::bar = $saved_bar;
#
#
#
# }; #End of guard
#
# #line 234 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
#
# # Copy the parameters into the variables the candidate
# # will access them from
# &$copier; # $copier gets @_ automatically
#
# # Pass the guard so the parameters will be reset once \$candidate
# # finishes running.
# @_ = ($guard);
#
# # Invoke the selected candidate
# goto &$candidate;
# } #dispatcher
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:248)
t/31_ambiguous_dispatch.t .. ok
# ########################################
# t/32_same_arity.t
t/32_same_arity.t .......... ok
# ########################################
# t/33_recursion.t
# Target main::pascal package Sub::Multi::Tiny (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:144)
# main::pascal using dispatcher Sub::Multi::Tiny::Dispatcher::Default (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:180)
# Making main::pascal() (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:184)
# Making main::pascal attr M (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:202)
# M code:
# #line 231 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# package main::pascal;
#
# #line 237 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# use Attribute::Handlers;
# use Sub::Multi::Tiny::Util qw(_hlog);
# ##use Data::Dumper;
#
# sub M :ATTR(CODE,RAWDATA) {
# _hlog { require Data::Dumper;
# 'In ', __PACKAGE__, "::M: \n",
# Data::Dumper->Dump([\@_], ['attr_args']) } 2;
#
# my ($package, $symbol, $referent, $attr, $data, $phase,
# $filename, $linenum) = @_;
# my $funcname = "$package\::" . *{$symbol}{NAME};
#
# _hlog { # Code from Attribute::Handlers, license perl_5
# ref($referent),
# $funcname,
# "($referent)", "was just declared",
# "and ascribed the ${attr} attribute",
# "with data ($data)",
# "in phase $phase",
# "in file $filename at line $linenum"
# } 2;
#
# #line 264 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# die 'Dispatchers already created - please file a bug report'
# if Sub::Multi::Tiny::_dispatchers_created();
#
# my $multi_def = $_multisubs{'main::pascal'};
#
# #line 272 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $hrSig = Sub::Multi::Tiny::_parse_arglist($data, $funcname);
# Sub::Multi::Tiny::_check_and_inflate_sig($hrSig, $multi_def,
# $funcname, $package, $filename, $linenum);
#
# #line 278 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
#
# #line 282 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $info = {
# code => $referent,
# args => $hrSig->{parms}, # TODO remove eventually
# sig => $hrSig,
#
# # For error messages
# filename => $filename,
# linenum => $linenum,
# candidate_name => $funcname
# };
# push @{$multi_def->{impls}}, $info;
#
# } #M
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:297)
# Making main::pascal::pascal stub (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:212)
# In main::pascal ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::pascal::main (CODE(0x2561aac)) was just declared and ascribed the M attribute with data ($n, $k) in phase CHECK in file t/33_recursion.t at line 14 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::pascal::main: $n, $k (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::pascal ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::pascal::base (CODE(0x2552014)) was just declared and ascribed the M attribute with data ($n) in phase CHECK in file t/33_recursion.t at line 18 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::pascal::base: $n (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# Sub::Multi::Tiny in INIT block (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:96)
# Making default dispatcher for: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$n'
# },
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$k'
# }
# ]
# },
# 'filename' => 't/33_recursion.t',
# 'candidate_name' => 'main::pascal::main',
# 'linenum' => 14,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$n'
# }
# ]
# },
# 'filename' => 't/33_recursion.t',
# 'candidate_name' => 'main::pascal::base',
# 'linenum' => 18,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'pascal',
# 'possible_params' => {
# '$k' => 1,
# '$n' => 1
# },
# 'defined_in' => 'main::pascal'
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/Default.pm:50)
# $mpc_defined_in = 'main::pascal';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$n'
# },
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$k'
# }
# ]
# },
# 'filename' => 't/33_recursion.t',
# 'candidate_name' => 'main::pascal::main',
# 'linenum' => 14,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::pascal::main():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::pascal::n
# ,
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::pascal::k
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::pascal';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$n'
# }
# ]
# },
# 'filename' => 't/33_recursion.t',
# 'candidate_name' => 'main::pascal::base',
# 'linenum' => 18,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::pascal::base():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::pascal::n
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# _complete_dispatcher making Sub::Multi::Tiny::Dispatcher::Default dispatcher with args: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$n'
# },
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$k'
# }
# ]
# },
# 'filename' => 't/33_recursion.t',
# 'candidate_name' => 'main::pascal::main',
# 'linenum' => 14,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$n'
# }
# ]
# },
# 'filename' => 't/33_recursion.t',
# 'candidate_name' => 'main::pascal::base',
# 'linenum' => 18,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'pascal',
# 'possible_params' => {
# '$k' => 1,
# '$n' => 1
# },
# 'defined_in' => 'main::pascal'
# };
# $inner_code = '#line 74 "C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny/Dispatcher/Default.pm"
# # Find the candidate
# my $arity = scalar @_;
# $candidate = $data[0]->{$arity};
# die "No candidate found for main::pascal() with arity " .
# (scalar @_) unless $candidate;
# $copier = $data[1]->{$arity};
#
# ';
# $data = {
# '1' => $multisub->{'impls'}[1]{'code'},
# '2' => $multisub->{'impls'}[0]{'code'}
# };
# $VAR4 = {
# '1' => sub { "DUMMY" },
# '2' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:200)
# Sub::Multi::Tiny::Dispatcher::Default dispatcher for main::pascal():
# #line 204 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
# # Find the candidate
# my ($candidate, $copier);
#
# #line 74 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/Default.pm"
# # Find the candidate
# my $arity = scalar @_;
# $candidate = $data[0]->{$arity};
# die "No candidate found for main::pascal() with arity " .
# (scalar @_) unless $candidate;
# $copier = $data[1]->{$arity};
#
#
#
# # Save the present values of the parameters
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_k = $main::pascal::k;
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_n = $main::pascal::n;
#
# #line 225 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# # Create the guard
# my $guard = Guard::guard {
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::pascal::k = $saved_k;
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::pascal::n = $saved_n;
#
#
#
# }; #End of guard
#
# #line 234 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
#
# # Copy the parameters into the variables the candidate
# # will access them from
# &$copier; # $copier gets @_ automatically
#
# # Pass the guard so the parameters will be reset once \$candidate
# # finishes running.
# @_ = ($guard);
#
# # Invoke the selected candidate
# goto &$candidate;
# } #dispatcher
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:248)
# Positional copier invocation 1:
# $copier_args = [
# 1
# ];
# After positional copier invocation 1:
# $main::pascal::n = 1
# Positional copier invocation 2:
# $copier_args = [
# 1,
# ${\$copier_args->[0]}
# ];
# After positional copier invocation 2:
# $main::pascal::n = 1
# $main::pascal::k = 1
# Positional copier invocation 3:
# $copier_args = [
# 2
# ];
# After positional copier invocation 3:
# $main::pascal::n = 2
# Positional copier invocation 4:
# $copier_args = [
# 2,
# ${\$copier_args->[0]}
# ];
# After positional copier invocation 4:
# $main::pascal::n = 2
# $main::pascal::k = 2
# Positional copier invocation 5:
# $copier_args = [
# 3,
# 1
# ];
# After positional copier invocation 5:
# $main::pascal::n = 3
# $main::pascal::k = 1
# Positional copier invocation 6:
# $copier_args = [
# 2,
# 0
# ];
# After positional copier invocation 6:
# $main::pascal::n = 2
# $main::pascal::k = 0
# Positional copier invocation 7:
# $copier_args = [
# 2,
# 1
# ];
# After positional copier invocation 7:
# $main::pascal::n = 2
# $main::pascal::k = 1
# Positional copier invocation 8:
# $copier_args = [
# 1,
# 0
# ];
# After positional copier invocation 8:
# $main::pascal::n = 1
# $main::pascal::k = 0
# Positional copier invocation 9:
# $copier_args = [
# 1,
# 1
# ];
# After positional copier invocation 9:
# $main::pascal::n = 1
# $main::pascal::k = 1
# Positional copier invocation 10:
# $copier_args = [
# 4,
# 4
# ];
# After positional copier invocation 10:
# $main::pascal::n = 4
# $main::pascal::k = 4
t/33_recursion.t ........... ok
# ########################################
# t/34_invalid_param.t
t/34_invalid_param.t ....... ok
# ########################################
# t/35_invalid_type.t
t/35_invalid_type.t ........ ok
# ########################################
# t/36_invalid_where.t
t/36_invalid_where.t ....... ok
# ########################################
# t/40_type_tiny.t
# Target main::my_multi package Sub::Multi::Tiny (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:144)
# main::my_multi using dispatcher Sub::Multi::Tiny::Dispatcher::TypeParams (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:180)
# Making main::my_multi() (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:184)
# Making main::my_multi attr M (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:202)
# M code:
# #line 231 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# package main::my_multi;
#
# #line 237 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# use Attribute::Handlers;
# use Sub::Multi::Tiny::Util qw(_hlog);
# ##use Data::Dumper;
#
# sub M :ATTR(CODE,RAWDATA) {
# _hlog { require Data::Dumper;
# 'In ', __PACKAGE__, "::M: \n",
# Data::Dumper->Dump([\@_], ['attr_args']) } 2;
#
# my ($package, $symbol, $referent, $attr, $data, $phase,
# $filename, $linenum) = @_;
# my $funcname = "$package\::" . *{$symbol}{NAME};
#
# _hlog { # Code from Attribute::Handlers, license perl_5
# ref($referent),
# $funcname,
# "($referent)", "was just declared",
# "and ascribed the ${attr} attribute",
# "with data ($data)",
# "in phase $phase",
# "in file $filename at line $linenum"
# } 2;
#
# #line 264 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# die 'Dispatchers already created - please file a bug report'
# if Sub::Multi::Tiny::_dispatchers_created();
#
# my $multi_def = $_multisubs{'main::my_multi'};
#
# #line 272 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $hrSig = Sub::Multi::Tiny::_parse_arglist($data, $funcname);
# Sub::Multi::Tiny::_check_and_inflate_sig($hrSig, $multi_def,
# $funcname, $package, $filename, $linenum);
#
# #line 278 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
#
# #line 282 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $info = {
# code => $referent,
# args => $hrSig->{parms}, # TODO remove eventually
# sig => $hrSig,
#
# # For error messages
# filename => $filename,
# linenum => $linenum,
# candidate_name => $funcname
# };
# push @{$multi_def->{impls}}, $info;
#
# } #M
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:297)
# Making main::my_multi::my_multi stub (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:212)
# Target main::check_int package Sub::Multi::Tiny (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:144)
# main::check_int using dispatcher Sub::Multi::Tiny::Dispatcher::TypeParams (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:180)
# Making main::check_int() (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:184)
# Making main::check_int attr M (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:202)
# M code:
# #line 231 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# package main::check_int;
#
# #line 237 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# use Attribute::Handlers;
# use Sub::Multi::Tiny::Util qw(_hlog);
# ##use Data::Dumper;
#
# sub M :ATTR(CODE,RAWDATA) {
# _hlog { require Data::Dumper;
# 'In ', __PACKAGE__, "::M: \n",
# Data::Dumper->Dump([\@_], ['attr_args']) } 2;
#
# my ($package, $symbol, $referent, $attr, $data, $phase,
# $filename, $linenum) = @_;
# my $funcname = "$package\::" . *{$symbol}{NAME};
#
# _hlog { # Code from Attribute::Handlers, license perl_5
# ref($referent),
# $funcname,
# "($referent)", "was just declared",
# "and ascribed the ${attr} attribute",
# "with data ($data)",
# "in phase $phase",
# "in file $filename at line $linenum"
# } 2;
#
# #line 264 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# die 'Dispatchers already created - please file a bug report'
# if Sub::Multi::Tiny::_dispatchers_created();
#
# my $multi_def = $_multisubs{'main::check_int'};
#
# #line 272 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $hrSig = Sub::Multi::Tiny::_parse_arglist($data, $funcname);
# Sub::Multi::Tiny::_check_and_inflate_sig($hrSig, $multi_def,
# $funcname, $package, $filename, $linenum);
#
# #line 278 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
#
# #line 282 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $info = {
# code => $referent,
# args => $hrSig->{parms}, # TODO remove eventually
# sig => $hrSig,
#
# # For error messages
# filename => $filename,
# linenum => $linenum,
# candidate_name => $funcname
# };
# push @{$multi_def->{impls}}, $info;
#
# } #M
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:297)
# Making main::check_int::check_int stub (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:212)
# Target main::check_2x2 package Sub::Multi::Tiny (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:144)
# main::check_2x2 using dispatcher Sub::Multi::Tiny::Dispatcher::TypeParams (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:180)
# Making main::check_2x2() (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:184)
# Making main::check_2x2 attr M (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:202)
# M code:
# #line 231 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# package main::check_2x2;
#
# #line 237 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# use Attribute::Handlers;
# use Sub::Multi::Tiny::Util qw(_hlog);
# ##use Data::Dumper;
#
# sub M :ATTR(CODE,RAWDATA) {
# _hlog { require Data::Dumper;
# 'In ', __PACKAGE__, "::M: \n",
# Data::Dumper->Dump([\@_], ['attr_args']) } 2;
#
# my ($package, $symbol, $referent, $attr, $data, $phase,
# $filename, $linenum) = @_;
# my $funcname = "$package\::" . *{$symbol}{NAME};
#
# _hlog { # Code from Attribute::Handlers, license perl_5
# ref($referent),
# $funcname,
# "($referent)", "was just declared",
# "and ascribed the ${attr} attribute",
# "with data ($data)",
# "in phase $phase",
# "in file $filename at line $linenum"
# } 2;
#
# #line 264 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# die 'Dispatchers already created - please file a bug report'
# if Sub::Multi::Tiny::_dispatchers_created();
#
# my $multi_def = $_multisubs{'main::check_2x2'};
#
# #line 272 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $hrSig = Sub::Multi::Tiny::_parse_arglist($data, $funcname);
# Sub::Multi::Tiny::_check_and_inflate_sig($hrSig, $multi_def,
# $funcname, $package, $filename, $linenum);
#
# #line 278 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
#
# #line 282 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $info = {
# code => $referent,
# args => $hrSig->{parms}, # TODO remove eventually
# sig => $hrSig,
#
# # For error messages
# filename => $filename,
# linenum => $linenum,
# candidate_name => $funcname
# };
# push @{$multi_def->{impls}}, $info;
#
# } #M
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:297)
# Making main::check_2x2::check_2x2 stub (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:212)
# Target main::check_arity package Sub::Multi::Tiny (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:144)
# main::check_arity using dispatcher Sub::Multi::Tiny::Dispatcher::TypeParams (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:180)
# Making main::check_arity() (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:184)
# Making main::check_arity attr M (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:202)
# M code:
# #line 231 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# package main::check_arity;
#
# #line 237 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# use Attribute::Handlers;
# use Sub::Multi::Tiny::Util qw(_hlog);
# ##use Data::Dumper;
#
# sub M :ATTR(CODE,RAWDATA) {
# _hlog { require Data::Dumper;
# 'In ', __PACKAGE__, "::M: \n",
# Data::Dumper->Dump([\@_], ['attr_args']) } 2;
#
# my ($package, $symbol, $referent, $attr, $data, $phase,
# $filename, $linenum) = @_;
# my $funcname = "$package\::" . *{$symbol}{NAME};
#
# _hlog { # Code from Attribute::Handlers, license perl_5
# ref($referent),
# $funcname,
# "($referent)", "was just declared",
# "and ascribed the ${attr} attribute",
# "with data ($data)",
# "in phase $phase",
# "in file $filename at line $linenum"
# } 2;
#
# #line 264 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# die 'Dispatchers already created - please file a bug report'
# if Sub::Multi::Tiny::_dispatchers_created();
#
# my $multi_def = $_multisubs{'main::check_arity'};
#
# #line 272 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $hrSig = Sub::Multi::Tiny::_parse_arglist($data, $funcname);
# Sub::Multi::Tiny::_check_and_inflate_sig($hrSig, $multi_def,
# $funcname, $package, $filename, $linenum);
#
# #line 278 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
#
# #line 282 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $info = {
# code => $referent,
# args => $hrSig->{parms}, # TODO remove eventually
# sig => $hrSig,
#
# # For error messages
# filename => $filename,
# linenum => $linenum,
# candidate_name => $funcname
# };
# push @{$multi_def->{impls}}, $info;
#
# } #M
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:297)
# Making main::check_arity::check_arity stub (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:212)
# In main::my_multi ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::my_multi::second (CODE(0x283d008)) was just declared and ascribed the M attribute with data (Int $foo) in phase CHECK in file t/40_type_tiny.t at line 18 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::my_multi::second: Int $foo (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::my_multi evaluating type 'Int' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# In main::my_multi ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::my_multi::first (CODE(0x2938150)) was just declared and ascribed the M attribute with data (Str $foo) in phase CHECK in file t/40_type_tiny.t at line 22 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::my_multi::first: Str $foo (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::my_multi evaluating type 'Str' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# In main::check_int ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::check_int::small (CODE(0x29388ac)) was just declared and ascribed the M attribute with data ($num where { $_ < 10}) in phase CHECK in file t/40_type_tiny.t at line 42 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::check_int::small: $num where { $_ < 10} (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::check_int evaluating 'where' clause '{ $_ < 10}' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:335)
# In main::check_int ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::check_int::large (CODE(0x2938e28)) was just declared and ascribed the M attribute with data ($num where { $_ >= 10}) in phase CHECK in file t/40_type_tiny.t at line 46 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::check_int::large: $num where { $_ >= 10} (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::check_int evaluating 'where' clause '{ $_ >= 10}' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:335)
# In main::check_2x2 ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::check_2x2::tt (CODE(0x29393f8)) was just declared and ascribed the M attribute with data (Int $num where { length() >= 2 }) in phase CHECK in file t/40_type_tiny.t at line 63 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::check_2x2::tt: Int $num where { length() >= 2 } (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::check_2x2 evaluating type 'Int' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# In main::check_2x2 evaluating 'where' clause '{ length() >= 2 }' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:335)
# In main::check_2x2 ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::check_2x2::tf (CODE(0x2939974)) was just declared and ascribed the M attribute with data (Int $num where { length() < 2 }) in phase CHECK in file t/40_type_tiny.t at line 64 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::check_2x2::tf: Int $num where { length() < 2 } (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::check_2x2 evaluating type 'Int' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# In main::check_2x2 evaluating 'where' clause '{ length() < 2 }' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:335)
# In main::check_2x2 ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::check_2x2::ft (CODE(0x2939a64)) was just declared and ascribed the M attribute with data (Str $num where { length() >= 2 }) in phase CHECK in file t/40_type_tiny.t at line 65 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::check_2x2::ft: Str $num where { length() >= 2 } (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::check_2x2 evaluating type 'Str' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# In main::check_2x2 evaluating 'where' clause '{ length() >= 2 }' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:335)
# In main::check_2x2 ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::check_2x2::ff (CODE(0x2939ac4)) was just declared and ascribed the M attribute with data (Str $num where { length() < 2 }) in phase CHECK in file t/40_type_tiny.t at line 66 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::check_2x2::ff: Str $num where { length() < 2 } (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::check_2x2 evaluating type 'Str' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# In main::check_2x2 evaluating 'where' clause '{ length() < 2 }' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:335)
# In main::check_arity ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::check_arity::second (CODE(0x293a0d0)) was just declared and ascribed the M attribute with data (Int $foo) in phase CHECK in file t/40_type_tiny.t at line 94 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::check_arity::second: Int $foo (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::check_arity evaluating type 'Int' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# In main::check_arity ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::check_arity::first (CODE(0x293b684)) was just declared and ascribed the M attribute with data (Str $foo) in phase CHECK in file t/40_type_tiny.t at line 98 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::check_arity::first: Str $foo (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::check_arity evaluating type 'Str' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# Sub::Multi::Tiny in INIT block (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:96)
# Making Type::Params dispatcher for: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' ),
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::tt',
# 'linenum' => 63,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::tf',
# 'linenum' => 64,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::ft',
# 'linenum' => 65,
# 'args' => $multisub->{'impls'}[2]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::ff',
# 'linenum' => 66,
# 'args' => $multisub->{'impls'}[3]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'check_2x2',
# 'possible_params' => {
# '$num' => 1
# },
# 'defined_in' => 'main::check_2x2'
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm:82)
# $mpc_defined_in = 'main::check_2x2';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' ),
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::tt',
# 'linenum' => 63,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::check_2x2::tt():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_2x2::num
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::check_2x2';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' ),
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::tf',
# 'linenum' => 64,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::check_2x2::tf():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_2x2::num
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::check_2x2';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::ft',
# 'linenum' => 65,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::check_2x2::ft():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_2x2::num
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::check_2x2';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::ff',
# 'linenum' => 66,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::check_2x2::ff():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_2x2::num
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# _complete_dispatcher making Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher with args: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' ),
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::tt',
# 'linenum' => 63,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::tf',
# 'linenum' => 64,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::ft',
# 'linenum' => 65,
# 'args' => $multisub->{'impls'}[2]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_2x2::ff',
# 'linenum' => 66,
# 'args' => $multisub->{'impls'}[3]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'check_2x2',
# 'possible_params' => {
# '$num' => 1
# },
# 'defined_in' => 'main::check_2x2'
# };
# $inner_code = '#line 130 "C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can\'t be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
# ';
# $data = sub { "DUMMY" };
# $VAR4 = [
# $multisub->{'impls'}[0]{'code'},
# $multisub->{'impls'}[1]{'code'},
# $multisub->{'impls'}[2]{'code'},
# $multisub->{'impls'}[3]{'code'}
# ];
# $VAR5 = [
# sub { "DUMMY" },
# sub { "DUMMY" },
# sub { "DUMMY" },
# sub { "DUMMY" }
# ]; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:200)
# Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher for main::check_2x2():
# #line 204 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
# # Find the candidate
# my ($candidate, $copier);
#
# #line 130 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can't be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
#
#
# # Save the present values of the parameters
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_num = $main::check_2x2::num;
#
# #line 225 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# # Create the guard
# my $guard = Guard::guard {
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_2x2::num = $saved_num;
#
#
#
# }; #End of guard
#
# #line 234 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
#
# # Copy the parameters into the variables the candidate
# # will access them from
# &$copier; # $copier gets @_ automatically
#
# # Pass the guard so the parameters will be reset once \$candidate
# # finishes running.
# @_ = ($guard);
#
# # Invoke the selected candidate
# goto &$candidate;
# } #dispatcher
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:248)
# Making Type::Params dispatcher for: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_int::small',
# 'linenum' => 42,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_int::large',
# 'linenum' => 46,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'check_int',
# 'possible_params' => {
# '$num' => 1
# },
# 'defined_in' => 'main::check_int'
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm:82)
# $mpc_defined_in = 'main::check_int';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_int::small',
# 'linenum' => 42,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::check_int::small():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_int::num
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::check_int';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_int::large',
# 'linenum' => 46,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::check_int::large():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_int::num
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# _complete_dispatcher making Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher with args: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_int::small',
# 'linenum' => 42,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$num',
# 'reqd' => 1,
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_int::large',
# 'linenum' => 46,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'check_int',
# 'possible_params' => {
# '$num' => 1
# },
# 'defined_in' => 'main::check_int'
# };
# $inner_code = '#line 130 "C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can\'t be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
# ';
# $data = sub { "DUMMY" };
# $VAR4 = [
# $multisub->{'impls'}[0]{'code'},
# $multisub->{'impls'}[1]{'code'}
# ];
# $VAR5 = [
# sub { "DUMMY" },
# sub { "DUMMY" }
# ]; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:200)
# Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher for main::check_int():
# #line 204 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
# # Find the candidate
# my ($candidate, $copier);
#
# #line 130 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can't be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
#
#
# # Save the present values of the parameters
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_num = $main::check_int::num;
#
# #line 225 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# # Create the guard
# my $guard = Guard::guard {
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_int::num = $saved_num;
#
#
#
# }; #End of guard
#
# #line 234 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
#
# # Copy the parameters into the variables the candidate
# # will access them from
# &$copier; # $copier gets @_ automatically
#
# # Pass the guard so the parameters will be reset once \$candidate
# # finishes running.
# @_ = ($guard);
#
# # Invoke the selected candidate
# goto &$candidate;
# } #dispatcher
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:248)
# Making Type::Params dispatcher for: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 18,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 22,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'my_multi',
# 'possible_params' => {
# '$foo' => 1
# },
# 'defined_in' => 'main::my_multi'
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm:82)
# $mpc_defined_in = 'main::my_multi';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 18,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::my_multi::second():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::my_multi';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 22,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::my_multi::first():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# _complete_dispatcher making Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher with args: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 18,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 22,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'my_multi',
# 'possible_params' => {
# '$foo' => 1
# },
# 'defined_in' => 'main::my_multi'
# };
# $inner_code = '#line 130 "C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can\'t be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
# ';
# $data = sub { "DUMMY" };
# $VAR4 = [
# $multisub->{'impls'}[0]{'code'},
# $multisub->{'impls'}[1]{'code'}
# ];
# $VAR5 = [
# sub { "DUMMY" },
# sub { "DUMMY" }
# ]; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:200)
# Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher for main::my_multi():
# #line 204 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
# # Find the candidate
# my ($candidate, $copier);
#
# #line 130 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can't be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
#
#
# # Save the present values of the parameters
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_foo = $main::my_multi::foo;
#
# #line 225 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# # Create the guard
# my $guard = Guard::guard {
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo = $saved_foo;
#
#
#
# }; #End of guard
#
# #line 234 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
#
# # Copy the parameters into the variables the candidate
# # will access them from
# &$copier; # $copier gets @_ automatically
#
# # Pass the guard so the parameters will be reset once \$candidate
# # finishes running.
# @_ = ($guard);
#
# # Invoke the selected candidate
# goto &$candidate;
# } #dispatcher
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:248)
# Making Type::Params dispatcher for: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_arity::second',
# 'linenum' => 94,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_arity::first',
# 'linenum' => 98,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'check_arity',
# 'possible_params' => {
# '$foo' => 1,
# '$bar' => 1
# },
# 'defined_in' => 'main::check_arity'
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm:82)
# $mpc_defined_in = 'main::check_arity';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_arity::second',
# 'linenum' => 94,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::check_arity::second():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_arity::foo
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::check_arity';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_arity::first',
# 'linenum' => 98,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::check_arity::first():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_arity::foo
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# _complete_dispatcher making Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher with args: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_arity::second',
# 'linenum' => 94,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}
# }
# ]
# },
# 'filename' => 't/40_type_tiny.t',
# 'candidate_name' => 'main::check_arity::first',
# 'linenum' => 98,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'check_arity',
# 'possible_params' => {
# '$foo' => 1,
# '$bar' => 1
# },
# 'defined_in' => 'main::check_arity'
# };
# $inner_code = '#line 130 "C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can\'t be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
# ';
# $data = sub { "DUMMY" };
# $VAR4 = [
# $multisub->{'impls'}[0]{'code'},
# $multisub->{'impls'}[1]{'code'}
# ];
# $VAR5 = [
# sub { "DUMMY" },
# sub { "DUMMY" }
# ]; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:200)
# Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher for main::check_arity():
# #line 204 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
# # Find the candidate
# my ($candidate, $copier);
#
# #line 130 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can't be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
#
#
# # Save the present values of the parameters
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_foo = $main::check_arity::foo;
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_bar = $main::check_arity::bar;
#
# #line 225 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# # Create the guard
# my $guard = Guard::guard {
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_arity::foo = $saved_foo;
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::check_arity::bar = $saved_bar;
#
#
#
# }; #End of guard
#
# #line 234 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
#
# # Copy the parameters into the variables the candidate
# # will access them from
# &$copier; # $copier gets @_ automatically
#
# # Pass the guard so the parameters will be reset once \$candidate
# # finishes running.
# @_ = ($guard);
#
# # Invoke the selected candidate
# goto &$candidate;
# } #dispatcher
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:248)
# Type::Tiny / Types::Standard
# Positional copier invocation 1:
# $copier_args = [
# 'world'
# ];
# After positional copier invocation 1:
# $main::my_multi::foo = world
# Positional copier invocation 2:
# $copier_args = [
# 0
# ];
# After positional copier invocation 2:
# $main::my_multi::foo = 0
# Positional copier invocation 3:
# $copier_args = [
# 42
# ];
# After positional copier invocation 3:
# $main::my_multi::foo = 42
# Positional copier invocation 4:
# $copier_args = [
# -10
# ];
# After positional copier invocation 4:
# $main::check_int::num = -10
# Positional copier invocation 5:
# $copier_args = [
# -9
# ];
# After positional copier invocation 5:
# $main::check_int::num = -9
# Positional copier invocation 6:
# $copier_args = [
# -8
# ];
# After positional copier invocation 6:
# $main::check_int::num = -8
# Positional copier invocation 7:
# $copier_args = [
# -7
# ];
# After positional copier invocation 7:
# $main::check_int::num = -7
# Positional copier invocation 8:
# $copier_args = [
# -6
# ];
# After positional copier invocation 8:
# $main::check_int::num = -6
# Positional copier invocation 9:
# $copier_args = [
# -5
# ];
# After positional copier invocation 9:
# $main::check_int::num = -5
# Positional copier invocation 10:
# $copier_args = [
# -4
# ];
# After positional copier invocation 10:
# $main::check_int::num = -4
# Positional copier invocation 11:
# $copier_args = [
# -3
# ];
# After positional copier invocation 11:
# $main::check_int::num = -3
# Positional copier invocation 12:
# $copier_args = [
# -2
# ];
# After positional copier invocation 12:
# $main::check_int::num = -2
# Positional copier invocation 13:
# $copier_args = [
# -1
# ];
# After positional copier invocation 13:
# $main::check_int::num = -1
# Positional copier invocation 14:
# $copier_args = [
# 0
# ];
# After positional copier invocation 14:
# $main::check_int::num = 0
# Positional copier invocation 15:
# $copier_args = [
# 1
# ];
# After positional copier invocation 15:
# $main::check_int::num = 1
# Positional copier invocation 16:
# $copier_args = [
# 2
# ];
# After positional copier invocation 16:
# $main::check_int::num = 2
# Positional copier invocation 17:
# $copier_args = [
# 3
# ];
# After positional copier invocation 17:
# $main::check_int::num = 3
# Positional copier invocation 18:
# $copier_args = [
# 4
# ];
# After positional copier invocation 18:
# $main::check_int::num = 4
# Positional copier invocation 19:
# $copier_args = [
# 5
# ];
# After positional copier invocation 19:
# $main::check_int::num = 5
# Positional copier invocation 20:
# $copier_args = [
# 6
# ];
# After positional copier invocation 20:
# $main::check_int::num = 6
# Positional copier invocation 21:
# $copier_args = [
# 7
# ];
# After positional copier invocation 21:
# $main::check_int::num = 7
# Positional copier invocation 22:
# $copier_args = [
# 8
# ];
# After positional copier invocation 22:
# $main::check_int::num = 8
# Positional copier invocation 23:
# $copier_args = [
# 9
# ];
# After positional copier invocation 23:
# $main::check_int::num = 9
# Positional copier invocation 24:
# $copier_args = [
# 10
# ];
# After positional copier invocation 24:
# $main::check_int::num = 10
# Positional copier invocation 25:
# $copier_args = [
# 11
# ];
# After positional copier invocation 25:
# $main::check_int::num = 11
# Positional copier invocation 26:
# $copier_args = [
# 12
# ];
# After positional copier invocation 26:
# $main::check_int::num = 12
# Positional copier invocation 27:
# $copier_args = [
# 13
# ];
# After positional copier invocation 27:
# $main::check_int::num = 13
# Positional copier invocation 28:
# $copier_args = [
# 14
# ];
# After positional copier invocation 28:
# $main::check_int::num = 14
# Positional copier invocation 29:
# $copier_args = [
# 15
# ];
# After positional copier invocation 29:
# $main::check_int::num = 15
# Positional copier invocation 30:
# $copier_args = [
# '4'
# ];
# After positional copier invocation 30:
# $main::check_2x2::num = 4
# Positional copier invocation 31:
# $copier_args = [
# '43'
# ];
# After positional copier invocation 31:
# $main::check_2x2::num = 43
# Positional copier invocation 32:
# $copier_args = [
# 'z'
# ];
# After positional copier invocation 32:
# $main::check_2x2::num = z
# Positional copier invocation 33:
# $copier_args = [
# 'xy'
# ];
# After positional copier invocation 33:
# $main::check_2x2::num = xy
# Positional copier invocation 34:
# $copier_args = [
# 'world'
# ];
# After positional copier invocation 34:
# $main::check_arity::foo = world
# Positional copier invocation 35:
# $copier_args = [
# 0
# ];
# After positional copier invocation 35:
# $main::check_arity::foo = 0
# Positional copier invocation 36:
# $copier_args = [
# 42
# ];
# After positional copier invocation 36:
# $main::check_arity::foo = 42
t/40_type_tiny.t ........... ok
# ########################################
# t/41_type_tiny_verbose.t
# Target main::my_multi package Sub::Multi::Tiny (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:144)
# main::my_multi using dispatcher Sub::Multi::Tiny::Dispatcher::TypeParams (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:180)
# Making main::my_multi() (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:184)
# Making main::my_multi attr M (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:202)
# M code:
# #line 231 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# package main::my_multi;
#
# #line 237 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# use Attribute::Handlers;
# use Sub::Multi::Tiny::Util qw(_hlog);
# ##use Data::Dumper;
#
# sub M :ATTR(CODE,RAWDATA) {
# _hlog { require Data::Dumper;
# 'In ', __PACKAGE__, "::M: \n",
# Data::Dumper->Dump([\@_], ['attr_args']) } 2;
#
# my ($package, $symbol, $referent, $attr, $data, $phase,
# $filename, $linenum) = @_;
# my $funcname = "$package\::" . *{$symbol}{NAME};
#
# _hlog { # Code from Attribute::Handlers, license perl_5
# ref($referent),
# $funcname,
# "($referent)", "was just declared",
# "and ascribed the ${attr} attribute",
# "with data ($data)",
# "in phase $phase",
# "in file $filename at line $linenum"
# } 2;
#
# #line 264 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# die 'Dispatchers already created - please file a bug report'
# if Sub::Multi::Tiny::_dispatchers_created();
#
# my $multi_def = $_multisubs{'main::my_multi'};
#
# #line 272 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $hrSig = Sub::Multi::Tiny::_parse_arglist($data, $funcname);
# Sub::Multi::Tiny::_check_and_inflate_sig($hrSig, $multi_def,
# $funcname, $package, $filename, $linenum);
#
# #line 278 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
#
# #line 282 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $info = {
# code => $referent,
# args => $hrSig->{parms}, # TODO remove eventually
# sig => $hrSig,
#
# # For error messages
# filename => $filename,
# linenum => $linenum,
# candidate_name => $funcname
# };
# push @{$multi_def->{impls}}, $info;
#
# } #M
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:297)
# Making main::my_multi::my_multi stub (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:212)
# In main::my_multi ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::my_multi::second (CODE(0x28f2f2c)) was just declared and ascribed the M attribute with data (Int $foo) in phase CHECK in file t/41_type_tiny_verbose.t at line 16 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::my_multi::second: Int $foo (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::my_multi evaluating type 'Int' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# In main::my_multi ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::my_multi::first (CODE(0x2a15864)) was just declared and ascribed the M attribute with data (Str $foo) in phase CHECK in file t/41_type_tiny_verbose.t at line 20 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::my_multi::first: Str $foo (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::my_multi evaluating type 'Str' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# Sub::Multi::Tiny in INIT block (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:96)
# Making Type::Params dispatcher for: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/41_type_tiny_verbose.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 16,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}
# }
# ]
# },
# 'filename' => 't/41_type_tiny_verbose.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 20,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'my_multi',
# 'possible_params' => {
# '$foo' => 1
# },
# 'defined_in' => 'main::my_multi'
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm:82)
# $mpc_defined_in = 'main::my_multi';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/41_type_tiny_verbose.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 16,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::my_multi::second():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::my_multi';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/41_type_tiny_verbose.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 20,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::my_multi::first():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# _complete_dispatcher making Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher with args: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/41_type_tiny_verbose.t',
# 'candidate_name' => 'main::my_multi::second',
# 'linenum' => 16,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$foo',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}
# }
# ]
# },
# 'filename' => 't/41_type_tiny_verbose.t',
# 'candidate_name' => 'main::my_multi::first',
# 'linenum' => 20,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'my_multi',
# 'possible_params' => {
# '$foo' => 1
# },
# 'defined_in' => 'main::my_multi'
# };
# $inner_code = '#line 130 "C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can\'t be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
# ';
# $data = sub { "DUMMY" };
# $VAR4 = [
# $multisub->{'impls'}[0]{'code'},
# $multisub->{'impls'}[1]{'code'}
# ];
# $VAR5 = [
# sub { "DUMMY" },
# sub { "DUMMY" }
# ]; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:200)
# Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher for main::my_multi():
# #line 204 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
# # Find the candidate
# my ($candidate, $copier);
#
# #line 130 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can't be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
#
#
# # Save the present values of the parameters
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_foo = $main::my_multi::foo;
#
# #line 225 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# # Create the guard
# my $guard = Guard::guard {
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::foo = $saved_foo;
#
#
#
# }; #End of guard
#
# #line 234 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
#
# # Copy the parameters into the variables the candidate
# # will access them from
# &$copier; # $copier gets @_ automatically
#
# # Pass the guard so the parameters will be reset once \$candidate
# # finishes running.
# @_ = ($guard);
#
# # Invoke the selected candidate
# goto &$candidate;
# } #dispatcher
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:248)
# Positional copier invocation 1:
# $copier_args = [
# 'world'
# ];
# After positional copier invocation 1:
# $main::my_multi::foo = world
# Positional copier invocation 2:
# $copier_args = [
# 0
# ];
# After positional copier invocation 2:
# $main::my_multi::foo = 0
# Positional copier invocation 3:
# $copier_args = [
# 42
# ];
# After positional copier invocation 3:
# $main::my_multi::foo = 42
t/41_type_tiny_verbose.t ... ok
# ########################################
# t/42_pos_and_named.t
# Target main::my_multi package Sub::Multi::Tiny (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:144)
# main::my_multi using dispatcher Sub::Multi::Tiny::Dispatcher::TypeParams (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:180)
# Making main::my_multi() (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:184)
# Making main::my_multi attr M (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:202)
# M code:
# #line 231 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# package main::my_multi;
#
# #line 237 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# use Attribute::Handlers;
# use Sub::Multi::Tiny::Util qw(_hlog);
# ##use Data::Dumper;
#
# sub M :ATTR(CODE,RAWDATA) {
# _hlog { require Data::Dumper;
# 'In ', __PACKAGE__, "::M: \n",
# Data::Dumper->Dump([\@_], ['attr_args']) } 2;
#
# my ($package, $symbol, $referent, $attr, $data, $phase,
# $filename, $linenum) = @_;
# my $funcname = "$package\::" . *{$symbol}{NAME};
#
# _hlog { # Code from Attribute::Handlers, license perl_5
# ref($referent),
# $funcname,
# "($referent)", "was just declared",
# "and ascribed the ${attr} attribute",
# "with data ($data)",
# "in phase $phase",
# "in file $filename at line $linenum"
# } 2;
#
# #line 264 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# die 'Dispatchers already created - please file a bug report'
# if Sub::Multi::Tiny::_dispatchers_created();
#
# my $multi_def = $_multisubs{'main::my_multi'};
#
# #line 272 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $hrSig = Sub::Multi::Tiny::_parse_arglist($data, $funcname);
# Sub::Multi::Tiny::_check_and_inflate_sig($hrSig, $multi_def,
# $funcname, $package, $filename, $linenum);
#
# #line 278 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
#
# #line 282 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $info = {
# code => $referent,
# args => $hrSig->{parms}, # TODO remove eventually
# sig => $hrSig,
#
# # For error messages
# filename => $filename,
# linenum => $linenum,
# candidate_name => $funcname
# };
# push @{$multi_def->{impls}}, $info;
#
# } #M
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:297)
# Making main::my_multi::my_multi stub (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:212)
# In main::my_multi ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::my_multi::just_int (CODE(0x2985f00)) was just declared and ascribed the M attribute with data (Int $answer) in phase CHECK in file t/42_pos_and_named.t at line 18 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::my_multi::just_int: Int $answer (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::my_multi evaluating type 'Int' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# In main::my_multi ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::my_multi::with_dict (CODE(0x2a93578)) was just declared and ascribed the M attribute with data (Int $answer,
# { slurpy Dict[
# foo => Int,
# bar => Optional[Int],
# baz => Optional[Int],
# ]} $dict) in phase CHECK in file t/42_pos_and_named.t at line 29 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::my_multi::with_dict: Int $answer,
# { slurpy Dict[
# foo => Int,
# bar => Optional[Int],
# baz => Optional[Int],
# ]} $dict (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::my_multi evaluating type 'Int' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# In main::my_multi evaluating type '{ slurpy Dict[
# foo => Int,
# bar => Optional[Int],
# baz => Optional[Int],
# ]}' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:322)
# Sub::Multi::Tiny in INIT block (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:96)
# Making Type::Params dispatcher for: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$answer',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/42_pos_and_named.t',
# 'candidate_name' => 'main::my_multi::just_int',
# 'linenum' => 18,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$answer',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}
# },
# {
# 'named' => '',
# 'name' => '$dict',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => undef,
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'slurpy' => 1,
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parent'},
# 'display_name' => 'to_Slurpy',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'name_generator' => sub { "DUMMY" },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'my_methods' => {
# 'slurp_into' => sub { "DUMMY" },
# 'unslurpy' => sub { "DUMMY" }
# },
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Slurpy',
# 'display_name' => 'Slurpy',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 771,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 28
# }, 'Type::Tiny' ),
# 'slurpy' => 1,
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'},
# '_compiled_type_constraint_check' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => '__ANON__',
# 'display_name' => 'Slurpy[Dict[bar=>Optional[Int],baz=>Optional[Int],foo=>Int]]',
# 'parameters' => [
# bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'},
# 'display_name' => 'to_Dict',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'name_generator' => sub { "DUMMY" },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'coercion_generator' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'deep_explanation' => bless( [
# 'HashRef',
# 'deep_explanation'
# ], 'Types::Standard::LazyLoad' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'parent'},
# 'display_name' => 'to_HashRef',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'coercion'}{'_compiled_type_constraint_check'}
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'coercion_generator' => bless( [
# 'HashRef',
# 'coercion_generator'
# ], 'Types::Standard::LazyLoad' ),
# 'compiled_type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Ref',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Ref',
# '_is_core' => 1,
# 'display_name' => 'Ref',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 428,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => sub { "DUMMY" },
# 'uniq' => 16
# }, 'Type::Tiny' ),
# 'my_methods' => {
# 'hashref_allows_value' => bless( [
# 'HashRef',
# 'hashref_allows_value'
# ], 'Types::Standard::LazyLoad' ),
# 'hashref_allows_key' => bless( [
# 'HashRef',
# 'hashref_allows_key'
# ], 'Types::Standard::LazyLoad' )
# },
# 'constraint_generator' => bless( [
# 'HashRef',
# 'constraint_generator'
# ], 'Types::Standard::LazyLoad' ),
# 'name' => 'HashRef',
# 'display_name' => 'HashRef',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'type_default_generator' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 534,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => bless( [
# 'HashRef',
# 'inline_generator'
# ], 'Types::Standard::LazyLoad' ),
# 'uniq' => 22
# }, 'Type::Tiny' ),
# 'my_methods' => {
# 'hashref_allows_value' => sub { "DUMMY" },
# 'hashref_allows_key' => sub { "DUMMY" },
# 'dict_is_slurpy' => sub { "DUMMY" }
# },
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Dict',
# 'display_name' => 'Dict',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 828,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => sub { "DUMMY" },
# 'uniq' => 31
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0],
# '_compiled_type_constraint_check' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => '__ANON__',
# 'display_name' => 'Dict[bar=>Optional[Int],baz=>Optional[Int],foo=>Int]',
# 'parameters' => [
# 'foo',
# $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'bar',
# bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'type_default'},
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parameters'}[3]{'parent'},
# 'display_name' => 'to_Optional',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'name_generator' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parent'}{'name_generator'},
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'coercion_generator' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Optional',
# 'display_name' => 'Optional',
# '_overload_coderef' => sub { "DUMMY" },
# 'type_default_generator' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 707,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => sub { "DUMMY" },
# 'uniq' => 27
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parameters'}[3],
# '_compiled_type_constraint_check' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parameters'}[3]{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => '__ANON__',
# 'display_name' => 'Optional[Int]',
# 'parameters' => [
# $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}
# ],
# 'deprecated' => '',
# '_build_coercion' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny.pm',
# 'line' => 326,
# 'package' => 'main::my_multi'
# },
# 'uniq' => 41
# }, 'Type::Tiny' ),
# 'baz',
# $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parameters'}[3]
# ],
# 'deprecated' => '',
# '_build_coercion' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny.pm',
# 'line' => 326,
# 'package' => 'main::my_multi'
# },
# 'uniq' => 42
# }, 'Type::Tiny' )
# ],
# 'deprecated' => '',
# '_build_coercion' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 736,
# 'package' => 'Types::Standard'
# },
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'uniq' => 43
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/42_pos_and_named.t',
# 'candidate_name' => 'main::my_multi::with_dict',
# 'linenum' => 29,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'my_multi',
# 'possible_params' => {
# '$answer' => 1,
# '$dict' => 1
# },
# 'defined_in' => 'main::my_multi'
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm:82)
# $mpc_defined_in = 'main::my_multi';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$answer',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/42_pos_and_named.t',
# 'candidate_name' => 'main::my_multi::just_int',
# 'linenum' => 18,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::my_multi::just_int():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::answer
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::my_multi';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$answer',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# },
# {
# 'named' => '',
# 'name' => '$dict',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => undef,
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'slurpy' => 1,
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parent'},
# 'display_name' => 'to_Slurpy',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'name_generator' => sub { "DUMMY" },
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'my_methods' => {
# 'slurp_into' => sub { "DUMMY" },
# 'unslurpy' => sub { "DUMMY" }
# },
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Slurpy',
# 'display_name' => 'Slurpy',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 771,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 28
# }, 'Type::Tiny' ),
# 'slurpy' => 1,
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'},
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => '__ANON__',
# 'display_name' => 'Slurpy[Dict[bar=>Optional[Int],baz=>Optional[Int],foo=>Int]]',
# 'parameters' => [
# bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'},
# 'display_name' => 'to_Dict',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'name_generator' => sub { "DUMMY" },
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'coercion_generator' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'deep_explanation' => bless( [
# 'HashRef',
# 'deep_explanation'
# ], 'Types::Standard::LazyLoad' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'parent'},
# 'display_name' => 'to_HashRef',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'coercion'}{'_compiled_type_constraint_check'}
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'coercion_generator' => bless( [
# 'HashRef',
# 'coercion_generator'
# ], 'Types::Standard::LazyLoad' ),
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Ref',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Ref',
# '_is_core' => 1,
# 'display_name' => 'Ref',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 428,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => sub { "DUMMY" },
# 'uniq' => 16
# }, 'Type::Tiny' ),
# 'my_methods' => {
# 'hashref_allows_value' => bless( [
# 'HashRef',
# 'hashref_allows_value'
# ], 'Types::Standard::LazyLoad' ),
# 'hashref_allows_key' => bless( [
# 'HashRef',
# 'hashref_allows_key'
# ], 'Types::Standard::LazyLoad' )
# },
# 'constraint_generator' => bless( [
# 'HashRef',
# 'constraint_generator'
# ], 'Types::Standard::LazyLoad' ),
# 'name' => 'HashRef',
# 'display_name' => 'HashRef',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'type_default_generator' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 534,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => bless( [
# 'HashRef',
# 'inline_generator'
# ], 'Types::Standard::LazyLoad' ),
# 'uniq' => 22
# }, 'Type::Tiny' ),
# 'my_methods' => {
# 'hashref_allows_value' => sub { "DUMMY" },
# 'hashref_allows_key' => sub { "DUMMY" },
# 'dict_is_slurpy' => sub { "DUMMY" }
# },
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Dict',
# 'display_name' => 'Dict',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 828,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => sub { "DUMMY" },
# 'uniq' => 31
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0],
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => '__ANON__',
# 'display_name' => 'Dict[bar=>Optional[Int],baz=>Optional[Int],foo=>Int]',
# 'parameters' => [
# 'foo',
# $mpc_impl->{'sig'}{'parms'}[0]{'type'},
# 'bar',
# bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'type_default'},
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parameters'}[3]{'parent'},
# 'display_name' => 'to_Optional',
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'name_generator' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parent'}{'name_generator'},
# 'constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'coercion_generator' => sub { "DUMMY" },
# 'compiled_type_constraint' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'parent' => $mpc_impl->{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Optional',
# 'display_name' => 'Optional',
# '_overload_coderef' => sub { "DUMMY" },
# 'type_default_generator' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 707,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => sub { "DUMMY" },
# 'uniq' => 27
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parameters'}[3],
# '_compiled_type_constraint_check' => $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parameters'}[3]{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => '__ANON__',
# 'display_name' => 'Optional[Int]',
# 'parameters' => [
# $mpc_impl->{'sig'}{'parms'}[0]{'type'}
# ],
# 'deprecated' => '',
# '_build_coercion' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny.pm',
# 'line' => 326,
# 'package' => 'main::my_multi'
# },
# 'uniq' => 41
# }, 'Type::Tiny' ),
# 'baz',
# $mpc_impl->{'sig'}{'parms'}[1]{'type'}{'parameters'}[0]{'parameters'}[3]
# ],
# 'deprecated' => '',
# '_build_coercion' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny.pm',
# 'line' => 326,
# 'package' => 'main::my_multi'
# },
# 'uniq' => 42
# }, 'Type::Tiny' )
# ],
# 'deprecated' => '',
# '_build_coercion' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 736,
# 'package' => 'Types::Standard'
# },
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'uniq' => 43
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/42_pos_and_named.t',
# 'candidate_name' => 'main::my_multi::with_dict',
# 'linenum' => 29,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::my_multi::with_dict():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::answer
# ,
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::dict
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# _complete_dispatcher making Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher with args: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$answer',
# 'reqd' => 1,
# 'type' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Str',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'type_default' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Any',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Any',
# 'library' => 'Types::Standard',
# 'display_name' => 'Any',
# '_is_core' => 1,
# 'complement_name' => 'None',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 211,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 1
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Item',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Item',
# 'library' => 'Types::Standard',
# 'display_name' => 'Item',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'inlined' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 217,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 2
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Defined',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Defined',
# 'library' => 'Types::Standard',
# 'display_name' => 'Defined',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'complementary_type' => bless( {
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'},
# 'display_name' => 'to_Undef',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'complementary_type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'type_default' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'complementary_type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'name' => 'Undef',
# '_is_core' => 1,
# 'display_name' => 'Undef',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 245,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 6
# }, 'Type::Tiny' ),
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 253,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 7
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Value',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Value',
# 'library' => 'Types::Standard',
# 'display_name' => 'Value',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 267,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 8
# }, 'Type::Tiny' ),
# 'name' => 'Str',
# '_is_core' => 1,
# 'display_name' => 'Str',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 282,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 9
# }, 'Type::Tiny' ),
# 'sorter' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'},
# 'display_name' => 'to_LaxNum',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'LaxNum',
# 'library' => 'Types::Standard',
# 'display_name' => 'LaxNum',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 300,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 10
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'},
# 'display_name' => 'to_Num',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Num',
# 'library' => 'Types::Standard',
# 'display_name' => 'Num',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 335,
# 'package' => 'Types::Standard'
# },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'uniq' => 12
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'display_name' => 'to_Int',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => 'Int',
# 'library' => 'Types::Standard',
# 'display_name' => 'Int',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 352,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 13
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/42_pos_and_named.t',
# 'candidate_name' => 'main::my_multi::just_int',
# 'linenum' => 18,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$answer',
# 'reqd' => 1,
# 'type' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}
# },
# {
# 'named' => '',
# 'name' => '$dict',
# 'reqd' => 1,
# 'type' => bless( {
# '_my_unslurpy' => bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parent'},
# 'display_name' => 'to_Dict',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'name_generator' => sub { "DUMMY" },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'coercion_generator' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'deep_explanation' => bless( [
# 'HashRef',
# 'deep_explanation'
# ], 'Types::Standard::LazyLoad' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parent'}{'parent'},
# 'display_name' => 'to_HashRef',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'}
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'coercion_generator' => bless( [
# 'HashRef',
# 'coercion_generator'
# ], 'Types::Standard::LazyLoad' ),
# 'compiled_type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'type_default' => sub { "DUMMY" },
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parent'}{'parent'}{'parent'},
# 'display_name' => 'to_Ref',
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parent'}{'parent'}{'parent'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Ref',
# '_is_core' => 1,
# 'display_name' => 'Ref',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 428,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => sub { "DUMMY" },
# 'uniq' => 16
# }, 'Type::Tiny' ),
# 'my_methods' => {
# 'hashref_allows_value' => bless( [
# 'HashRef',
# 'hashref_allows_value'
# ], 'Types::Standard::LazyLoad' ),
# 'hashref_allows_key' => bless( [
# 'HashRef',
# 'hashref_allows_key'
# ], 'Types::Standard::LazyLoad' )
# },
# 'constraint_generator' => bless( [
# 'HashRef',
# 'constraint_generator'
# ], 'Types::Standard::LazyLoad' ),
# 'name' => 'HashRef',
# 'display_name' => 'HashRef',
# '_is_core' => 1,
# '_overload_coderef' => sub { "DUMMY" },
# 'type_default_generator' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 534,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => bless( [
# 'HashRef',
# 'inline_generator'
# ], 'Types::Standard::LazyLoad' ),
# 'uniq' => 22
# }, 'Type::Tiny' ),
# 'my_methods' => {
# 'hashref_allows_value' => sub { "DUMMY" },
# 'hashref_allows_key' => sub { "DUMMY" },
# 'dict_is_slurpy' => sub { "DUMMY" }
# },
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Dict',
# 'display_name' => 'Dict',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 828,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => sub { "DUMMY" },
# 'uniq' => 31
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'},
# '_compiled_type_constraint_check' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => '__ANON__',
# 'display_name' => 'Dict[bar=>Optional[Int],baz=>Optional[Int],foo=>Int]',
# 'parameters' => [
# 'foo',
# $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'},
# 'bar',
# bless( {
# 'compiled_type_constraint' => sub { "DUMMY" },
# 'type_default' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'type_default'},
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parameters'}[3]{'parent'},
# 'display_name' => 'to_Optional',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'name_generator' => sub { "DUMMY" },
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'coercion_generator' => sub { "DUMMY" },
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Optional',
# 'display_name' => 'Optional',
# '_overload_coderef' => sub { "DUMMY" },
# 'type_default_generator' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 707,
# 'package' => 'Types::Standard'
# },
# 'inline_generator' => sub { "DUMMY" },
# 'uniq' => 27
# }, 'Type::Tiny' ),
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parameters'}[3],
# '_compiled_type_constraint_check' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parameters'}[3]{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'name' => '__ANON__',
# 'display_name' => 'Optional[Int]',
# 'parameters' => [
# $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}
# ],
# 'deprecated' => '',
# '_build_coercion' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny.pm',
# 'line' => 326,
# 'package' => 'main::my_multi'
# },
# 'uniq' => 41
# }, 'Type::Tiny' ),
# 'baz',
# $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parameters'}[3]
# ],
# 'deprecated' => '',
# '_build_coercion' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'constraint' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny.pm',
# 'line' => 326,
# 'package' => 'main::my_multi'
# },
# 'uniq' => 42
# }, 'Type::Tiny' ),
# 'slurpy' => 1,
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'},
# '_compiled_type_constraint_check' => sub { "DUMMY" }
# }, 'Type::Coercion' ),
# 'constraint' => sub { "DUMMY" },
# 'inlined' => sub { "DUMMY" },
# 'type_default' => undef,
# 'compiled_type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'coercion'}{'_compiled_type_constraint_check'},
# 'parent' => bless( {
# 'deep_explanation' => sub { "DUMMY" },
# 'slurpy' => 1,
# 'coercion' => bless( {
# 'frozen' => 1,
# 'name' => '__ANON__',
# 'type_coercion_map' => [],
# 'type_constraint' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'parent'},
# 'display_name' => 'to_Slurpy',
# '_compiled_type_constraint_check' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'}
# }, 'Type::Coercion' ),
# 'library' => 'Types::Standard',
# 'name_generator' => $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}{'parameters'}[3]{'parent'}{'name_generator'},
# 'constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'constraint'},
# 'compiled_type_constraint' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'compiled_type_constraint'},
# 'parent' => $multisub->{'impls'}[0]{'sig'}{'parms'}[0]{'type'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'}{'parent'},
# 'my_methods' => {
# 'slurp_into' => sub { "DUMMY" },
# 'unslurpy' => sub { "DUMMY" }
# },
# 'constraint_generator' => sub { "DUMMY" },
# 'name' => 'Slurpy',
# 'display_name' => 'Slurpy',
# '_overload_coderef' => sub { "DUMMY" },
# 'deprecated' => '',
# '_overrides_assert_return' => '',
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 771,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 28
# }, 'Type::Tiny' ),
# 'my_methods' => {},
# 'name' => '__ANON__',
# 'display_name' => 'Slurpy[Dict[bar=>Optional[Int],baz=>Optional[Int],foo=>Int]]',
# 'parameters' => [
# $multisub->{'impls'}[1]{'sig'}{'parms'}[1]{'type'}{'_my_unslurpy'}
# ],
# 'deprecated' => '',
# '_build_coercion' => sub { "DUMMY" },
# 'definition_context' => {
# 'file' => 'C:\\home\\flower\\perl5\\lib\\perl5/Types/Standard.pm',
# 'line' => 736,
# 'package' => 'Types::Standard'
# },
# 'uniq' => 43
# }, 'Type::Tiny' )
# }
# ]
# },
# 'filename' => 't/42_pos_and_named.t',
# 'candidate_name' => 'main::my_multi::with_dict',
# 'linenum' => 29,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'my_multi',
# 'possible_params' => {
# '$answer' => 1,
# '$dict' => 1
# },
# 'defined_in' => 'main::my_multi'
# };
# $inner_code = '#line 130 "C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can\'t be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
# ';
# $data = sub { "DUMMY" };
# $VAR4 = [
# $multisub->{'impls'}[0]{'code'},
# $multisub->{'impls'}[1]{'code'}
# ];
# $VAR5 = [
# sub { "DUMMY" },
# sub { "DUMMY" }
# ]; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:200)
# Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher for main::my_multi():
# #line 204 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
# # Find the candidate
# my ($candidate, $copier);
#
# #line 130 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can't be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
#
#
# # Save the present values of the parameters
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_answer = $main::my_multi::answer;
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_dict = $main::my_multi::dict;
#
# #line 225 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# # Create the guard
# my $guard = Guard::guard {
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::answer = $saved_answer;
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::my_multi::dict = $saved_dict;
#
#
#
# }; #End of guard
#
# #line 234 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
#
# # Copy the parameters into the variables the candidate
# # will access them from
# &$copier; # $copier gets @_ automatically
#
# # Pass the guard so the parameters will be reset once \$candidate
# # finishes running.
# @_ = ($guard);
#
# # Invoke the selected candidate
# goto &$candidate;
# } #dispatcher
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:248)
# Positional copier invocation 1:
# $copier_args = [
# 42
# ];
# After positional copier invocation 1:
# $main::my_multi::answer = 42
# Positional copier invocation 2:
# $copier_args = [
# 42,
# {
# 'foo' => 21
# }
# ];
# After positional copier invocation 2:
# $main::my_multi::answer = 42
# $main::my_multi::dict = HASH(0x2a8f084)
# Positional copier invocation 3:
# $copier_args = [
# 42,
# {
# 'bar' => 84,
# 'foo' => 21
# }
# ];
# After positional copier invocation 3:
# $main::my_multi::answer = 42
# $main::my_multi::dict = HASH(0x2bd80d0)
# Positional copier invocation 4:
# $copier_args = [
# 42,
# {
# 'baz' => 3,
# 'foo' => 21
# }
# ];
# After positional copier invocation 4:
# $main::my_multi::answer = 42
# $main::my_multi::dict = HASH(0x2bcf250)
t/42_pos_and_named.t ....... ok
# ########################################
# t/43_recursion_fib.t
# Target main::fib package Sub::Multi::Tiny (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:144)
# main::fib using dispatcher Sub::Multi::Tiny::Dispatcher::TypeParams (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:180)
# Making main::fib() (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:184)
# Making main::fib attr M (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:202)
# M code:
# #line 231 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# package main::fib;
#
# #line 237 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# use Attribute::Handlers;
# use Sub::Multi::Tiny::Util qw(_hlog);
# ##use Data::Dumper;
#
# sub M :ATTR(CODE,RAWDATA) {
# _hlog { require Data::Dumper;
# 'In ', __PACKAGE__, "::M: \n",
# Data::Dumper->Dump([\@_], ['attr_args']) } 2;
#
# my ($package, $symbol, $referent, $attr, $data, $phase,
# $filename, $linenum) = @_;
# my $funcname = "$package\::" . *{$symbol}{NAME};
#
# _hlog { # Code from Attribute::Handlers, license perl_5
# ref($referent),
# $funcname,
# "($referent)", "was just declared",
# "and ascribed the ${attr} attribute",
# "with data ($data)",
# "in phase $phase",
# "in file $filename at line $linenum"
# } 2;
#
# #line 264 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# die 'Dispatchers already created - please file a bug report'
# if Sub::Multi::Tiny::_dispatchers_created();
#
# my $multi_def = $_multisubs{'main::fib'};
#
# #line 272 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $hrSig = Sub::Multi::Tiny::_parse_arglist($data, $funcname);
# Sub::Multi::Tiny::_check_and_inflate_sig($hrSig, $multi_def,
# $funcname, $package, $filename, $linenum);
#
# #line 278 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
#
# #line 282 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm"
# my $info = {
# code => $referent,
# args => $hrSig->{parms}, # TODO remove eventually
# sig => $hrSig,
#
# # For error messages
# filename => $filename,
# linenum => $linenum,
# candidate_name => $funcname
# };
# push @{$multi_def->{impls}}, $info;
#
# } #M
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:297)
# Making main::fib::fib stub (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:212)
# In main::fib ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::fib::base (CODE(0x28358c4)) was just declared and ascribed the M attribute with data ($n where { $_ <= 1 }) in phase CHECK in file t/43_recursion_fib.t at line 10 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::fib::base: $n where { $_ <= 1 } (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# In main::fib evaluating 'where' clause '{ $_ <= 1 }' (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:335)
# In main::fib ::M:
# $attr_args = []; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:244)
# CODE main::fib::other (CODE(0x293dcfc)) was just declared and ascribed the M attribute with data ($n) in phase CHECK in file t/43_recursion_fib.t at line 11 (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:258)
# Parsing args for main::fib::other: $n (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:221)
# Sub::Multi::Tiny in INIT block (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny.pm:96)
# Making Type::Params dispatcher for: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$n',
# 'reqd' => 1,
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/43_recursion_fib.t',
# 'candidate_name' => 'main::fib::base',
# 'linenum' => 10,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$n'
# }
# ]
# },
# 'filename' => 't/43_recursion_fib.t',
# 'candidate_name' => 'main::fib::other',
# 'linenum' => 11,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'fib',
# 'possible_params' => {
# '$n' => 1
# },
# 'defined_in' => 'main::fib'
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm:82)
# $mpc_defined_in = 'main::fib';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$n',
# 'reqd' => 1,
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/43_recursion_fib.t',
# 'candidate_name' => 'main::fib::base',
# 'linenum' => 10,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::fib::base():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::fib::n
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# $mpc_defined_in = 'main::fib';
# $mpc_impl = {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$n'
# }
# ]
# },
# 'filename' => 't/43_recursion_fib.t',
# 'candidate_name' => 'main::fib::other',
# 'linenum' => 11,
# 'args' => $mpc_impl->{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:273)
# Copier for main::fib::other():
# #line 276 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
#
# #line 283 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# if( $] lt '5.018' || $VERBOSE > 1) {
# require Data::Dumper;
# require Test::More;
# Test::More::diag(sprintf("Positional copier invocation %d:\n%s",
# ++$Sub::Multi::Tiny::Util::_positional_copier_invocation_number,
# Data::Dumper->Dump([\@_],['copier_args'])));
# }
#
# #line 293 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# (
#
# #line 303 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::fib::n
# #line 306 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# ) = @_;
#
# if( $] lt '5.018' || $VERBOSE > 1) {
# Test::More::diag(sprintf("After positional copier invocation %d:",
# $Sub::Multi::Tiny::Util::_positional_copier_invocation_number));
# Test::More::diag(join "\n", map {
# sprintf("%s = %s", $_, eval($_))
# } @vars);
# }
#
# } #copier
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:319)
# _complete_dispatcher making Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher with args: $multisub = {
# 'impls' => [
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'name' => '$n',
# 'reqd' => 1,
# 'where' => sub { "DUMMY" }
# }
# ]
# },
# 'filename' => 't/43_recursion_fib.t',
# 'candidate_name' => 'main::fib::base',
# 'linenum' => 10,
# 'args' => $multisub->{'impls'}[0]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# },
# {
# 'sig' => {
# 'seen' => '',
# 'parms' => [
# {
# 'named' => '',
# 'reqd' => 1,
# 'name' => '$n'
# }
# ]
# },
# 'filename' => 't/43_recursion_fib.t',
# 'candidate_name' => 'main::fib::other',
# 'linenum' => 11,
# 'args' => $multisub->{'impls'}[1]{'sig'}{'parms'},
# 'code' => sub { "DUMMY" }
# }
# ],
# 'used_by' => 'main',
# 'subname' => 'fib',
# 'possible_params' => {
# '$n' => 1
# },
# 'defined_in' => 'main::fib'
# };
# $inner_code = '#line 130 "C:\\strawberry\\cpan\\build\\Sub-Multi-Tiny-0.000013-0\\blib\\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can\'t be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
# ';
# $data = sub { "DUMMY" };
# $VAR4 = [
# $multisub->{'impls'}[0]{'code'},
# $multisub->{'impls'}[1]{'code'}
# ];
# $VAR5 = [
# sub { "DUMMY" },
# sub { "DUMMY" }
# ]; (at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:200)
# Sub::Multi::Tiny::Dispatcher::TypeParams dispatcher for main::fib():
# #line 204 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# use strict;
# use warnings;
# sub {
# # Find the candidate
# my ($candidate, $copier);
#
# #line 130 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Dispatcher/TypeParams.pm"
# # Find the candidate
# @_ = $data[0]->(@_); # $checker. Dies on error.
# # NOTE: this change can't be `local`ized because `goto`
# # undoes the `local` - see #8
# $candidate = $data[1]->[${^_TYPE_PARAMS_MULTISIG}]; # impls
# $copier = $data[2]->[${^_TYPE_PARAMS_MULTISIG}]; # copiers
#
#
#
# # Save the present values of the parameters
#
# #line 219 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# my $saved_n = $main::fib::n;
#
# #line 225 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# # Create the guard
# my $guard = Guard::guard {
#
# #line 221 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
# $main::fib::n = $saved_n;
#
#
#
# }; #End of guard
#
# #line 234 "C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm"
#
# # Copy the parameters into the variables the candidate
# # will access them from
# &$copier; # $copier gets @_ automatically
#
# # Pass the guard so the parameters will be reset once \$candidate
# # finishes running.
# @_ = ($guard);
#
# # Invoke the selected candidate
# goto &$candidate;
# } #dispatcher
#
(at C:\strawberry\cpan\build\Sub-Multi-Tiny-0.000013-0\blib\lib/Sub/Multi/Tiny/Util.pm:248)
# Positional copier invocation 1:
# $copier_args = [
# 0
# ];
# After positional copier invocation 1:
# $main::fib::n = 0
# Positional copier invocation 2:
# $copier_args = [
# 1
# ];
# After positional copier invocation 2:
# $main::fib::n = 1
# Positional copier invocation 3:
# $copier_args = [
# 2
# ];
# After positional copier invocation 3:
# $main::fib::n = 2
# Positional copier invocation 4:
# $copier_args = [
# 1
# ];
# After positional copier invocation 4:
# $main::fib::n = 1
# Positional copier invocation 5:
# $copier_args = [
# 3
# ];
# After positional copier invocation 5:
# $main::fib::n = 3
# Positional copier invocation 6:
# $copier_args = [
# 2
# ];
# After positional copier invocation 6:
# $main::fib::n = 2
# Positional copier invocation 7:
# $copier_args = [
# 1
# ];
# After positional copier invocation 7:
# $main::fib::n = 1
# Positional copier invocation 8:
# $copier_args = [
# 5
# ];
# After positional copier invocation 8:
# $main::fib::n = 5
# Positional copier invocation 9:
# $copier_args = [
# 4
# ];
# After positional copier invocation 9:
# $main::fib::n = 4
# Positional copier invocation 10:
# $copier_args = [
# 3
# ];
# After positional copier invocation 10:
# $main::fib::n = 3
# Positional copier invocation 11:
# $copier_args = [
# 2
# ];
# After positional copier invocation 11:
# $main::fib::n = 2
# Positional copier invocation 12:
# $copier_args = [
# 1
# ];
# After positional copier invocation 12:
# $main::fib::n = 1
t/43_recursion_fib.t ....... ok
All tests successful.
Files=14, Tests=236, 11 wallclock secs ( 0.11 usr + 0.17 sys = 0.28 CPU)
Result: PASS
------------------------------
PREREQUISITES
------------------------------
Prerequisite modules loaded:
requires:
Module Need Have
------------------- -------- ---------
Attribute::Handlers 0.79 0.88
attributes 0 0.09
Carp 0 1.50
constant 0 1.33
Data::Dumper 0 2.161
enum 1.08 1.11
Exporter 5.57 5.72
Guard 1.023 1.023
Import::Into 1.002005 1.002005
parent 0 0.236
perl 5.008001 5.008009
Scalar::Util 1.50 1.63
strict 0 1.03
subs 0 1.00
Text::Balanced 2.01 2.06
Type::Params 1.999010 2.001_000
vars 0 1.01
vars::i 1.10 2.000000
warnings 0 1.05_01
build_requires:
Module Need Have
------------------- -------- ---------
Config 0 0
CPAN::Meta 2.150008 2.150010
Data::PowerSet 0.05 0.05
IPC::Run3 0.047 0.048
lib::relative 1.000 1.001
Test::Fatal 0.014 0.014
Test::More 0.98 1.302191
Type::Tiny 1.004004 2.001_000
Types::Standard 0 2.001_000
configure_requires:
Module Need Have
------------------- -------- ---------
Cwd 0 3.62
File::Spec 0 3.62
Module::Build::Tiny 0.035 0.039
Parse::Yapp 0 1.21
Parse::Yapp::Driver 0 1.21
------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------
Environment variables:
COMSPEC = C:\windows\system32\cmd.exe
NONINTERACTIVE_TESTING = 1
NUMBER_OF_PROCESSORS = 4
PATH = C:\home\flower\perl5\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin
PERL5LIB = C:\home\flower\perl5\lib\perl5
PERL5OPT =
PERL5_CPANPLUS_IS_RUNNING = 4876
PERL5_CPAN_IS_RUNNING = 4876
PERL_LOCAL_LIB_ROOT = C:\home\flower\perl5
PERL_MB_OPT = --install_base "C:\\home\\flower\\perl5"
PERL_MM_OPT = INSTALL_BASE=C:\\home\\flower\\perl5
PERL_MM_USE_DEFAULT = 1
PROCESSOR_IDENTIFIER = x86 Family 6 Model 37 Stepping 5, GenuineIntel
TEMP = C:\Users\user\AppData\Local\Temp
TERM = dumb
Perl special variables (and OS-specific diagnostics, for MSWin32):
$^X = C:\Strawberry\perl\bin\perl.exe
$UID/$EUID = 0 / 0
$GID = 0
$EGID = 0
Win32::GetOSName = Win7
Win32::GetOSVersion = Service Pack 1, 6, 1, 7601, 2, 1, 0, 256, 1
Win32::FsType = NTFS
Win32::IsAdminUser = 0
Perl module toolchain versions installed:
Module Have
------------------- --------
CPAN 2.16
CPAN::Meta 2.150010
Cwd 3.62
ExtUtils::CBuilder 0.280236
ExtUtils::Command 7.65_02
ExtUtils::Install 2.14
ExtUtils::MakeMaker 7.65_02
ExtUtils::Manifest 1.70
ExtUtils::ParseXS 3.44
File::Spec 3.62
JSON 4.10
JSON::PP 4.12
Module::Build 0.42_28
Module::Signature 0.88
Parse::CPAN::Meta 2.150010
Test::Harness 3.44
Test::More 1.302191
YAML 1.26
YAML::Syck 1.29
version 0.9924
--
Summary of my perl5 (revision 5 version 8 subversion 9) configuration:
Platform:
osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread
uname='Win32 strawberryperl 5.8.9.5 #1 Wed Apr 28 11:51:06 2010 i386'
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags =' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX',
optimize='-s -O2',
cppflags='-DWIN32'
ccversion='', gccversion='3.4.5', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long long', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
libpth=C:\strawberry\c\lib
libs= -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
perllibs= -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
libc=-lmsvcrt, so=dll, useshrplib=true, libperl=libperl58.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_FAST_STDIO
USE_ITHREADS USE_LARGE_FILES USE_PERLIO
USE_SITECUSTOMIZE
Built under MSWin32
Compiled at Apr 28 2010 11:57:55
%ENV:
PERL5LIB="C:\home\flower\perl5\lib\perl5"
PERL5_CPANPLUS_IS_RUNNING="4876"
PERL5_CPAN_IS_RUNNING="4876"
PERL_LOCAL_LIB_ROOT="C:\home\flower\perl5"
PERL_MB_OPT="--install_base "C:\\home\\flower\\perl5""
PERL_MM_OPT="INSTALL_BASE=C:\\home\\flower\\perl5"
PERL_MM_USE_DEFAULT="1"
@INC:
C:\home\flower\perl5\lib\perl5/5.8.9/MSWin32-x86-multi-thread
C:\home\flower\perl5\lib\perl5/5.8.9
C:\home\flower\perl5\lib\perl5/MSWin32-x86-multi-thread
C:\home\flower\perl5\lib\perl5
C:/Strawberry/perl/lib
C:/Strawberry/perl/site/lib
C:\strawberry\perl\vendor\lib
.