t/lib/commonsense .............................................. ok
t/lib/croak .................................................... FILE: lib/croak/op ; line 35
PROG: 
%main::FIELDS; # empty hash so all keys are invalid
my main $r;
${$r}{key};
EXPECTED:
No such class field "key" in variable $r of type main at - line 3.
EXIT STATUS: != 0
GOT:
Useless use of a variable in void context at - line 1.
Useless use of hash element in void context at - line 3.
No such class field "key" in variable $r of type main at - line 3.
EXIT STATUS: 255
# Failed test 21 - "No such field" with block: ${$ref}{key} at lib/croak/op line 35
FILE: lib/croak/op ; line 54
PROG: 
%main::FIELDS; # vivify it, but leave it empty, so all fields are invalid
my main $f;
@$f{"a"};
EXPECTED:
No such class field "a" in variable $f of type main at - line 3.
EXIT STATUS: != 0
GOT:
Useless use of a variable in void context at - line 1.
Useless use of hash slice in void context at - line 3.
No such class field "a" in variable $f of type main at - line 3.
EXIT STATUS: 255
# Failed test 23 - Single OP_HSLICE field at lib/croak/op line 54
FILE: lib/croak/op ; line 61
PROG: 
BEGIN { %main::FIELDS = qw(a 1 b 1); }
my main $f;
%$f{"a","c"};
EXPECTED:
No such class field "c" in variable $f of type main at - line 3.
EXIT STATUS: != 0
GOT:
Useless use of key/value hash slice in void context at - line 3.
No such class field "c" in variable $f of type main at - line 3.
EXIT STATUS: 255
# Failed test 24 - OP_KVHSLICE fields at lib/croak/op line 61
FILE: lib/croak/op ; line 179
PROG: 
no strict 'subs'; push FRED;
EXPECTED:
Type of arg 1 to push must be array (not constant item) at - line 1, near "FRED;"
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Useless use of push with no values at - line 1.
Type of arg 1 to push must be array (not constant item) at - line 1, near "FRED;"
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 43 - push BAREWORD at lib/croak/op line 179
FILE: lib/croak/op ; line 197
PROG: 
no strict 'subs'; unshift FRED;
EXPECTED:
Type of arg 1 to unshift must be array (not constant item) at - line 1, near "FRED;"
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Useless use of unshift with no values at - line 1.
Type of arg 1 to unshift must be array (not constant item) at - line 1, near "FRED;"
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 46 - unshift BAREWORD at lib/croak/op line 197
FILE: lib/croak/pp ; line 2
PROG: 
# Somewhat nonsensical, but at least it should not fail an assertion.
our @a->{0};
EXPECTED:
Can't use an undefined value as a HASH reference at - line 2.
EXIT STATUS: != 0
GOT:
Useless use of hash element in void context at - line 2.
Can't use an undefined value as a HASH reference at - line 2.
EXIT STATUS: 255
# Failed test 52 - our @a->{0} at lib/croak/pp line 2
FILE: lib/croak/pp_ctl ; line 24
PROG: 
no warnings 'deprecated';
eval { goto a; 1 + do { a: } }; warn $@;
eval { goto b; meth { b: }   }; warn $@;
eval { goto c; map { c: } () }; warn $@;
eval { goto d; f(do { d: })  }; die  $@;
EXPECTED:
Can't "goto" into a binary or list expression at - line 2.
Can't "goto" into a binary or list expression at - line 3.
Can't "goto" into a binary or list expression at - line 4.
Can't "goto" into a binary or list expression at - line 5.
EXIT STATUS: != 0
GOT:
Useless use of addition (+) in void context at - line 2.
Can't "goto" into a binary or list expression at - line 2.
Can't "goto" into a binary or list expression at - line 3.
Can't "goto" into a binary or list expression at - line 4.
Can't "goto" into a binary or list expression at - line 5.
EXIT STATUS: 255
# Failed test 59 - goto into expression at lib/croak/pp_ctl line 24
FILE: lib/croak/pp_hot ; line 26
PROG: 
   our %hash; \local %{\%hash}
EXPECTED:
Can't localize through a reference at - line 1.
EXIT STATUS: != 0
GOT:
Useless use of single ref constructor in void context at - line 1.
Can't localize through a reference at - line 1.
EXIT STATUS: 255
# Failed test 68 - \local %$ref at lib/croak/pp_hot line 26
FILE: lib/croak/pp_hot ; line 31
PROG: 
   our @hash; \local @{\@hash}
EXPECTED:
Can't localize through a reference at - line 1.
EXIT STATUS: != 0
GOT:
Useless use of single ref constructor in void context at - line 1.
Can't localize through a reference at - line 1.
EXIT STATUS: 255
# Failed test 69 - \local @$ref at lib/croak/pp_hot line 31
FILE: lib/croak/pp_sys ; line 2
PROG: 
# pp_sys.c
my $fh;
no strict 'refs'; pipe($$5, $fh)
EXPECTED:
Bad symbol for filehandle at - line 3.
EXIT STATUS: != 0
GOT:
Use of uninitialized value $5 in scalar dereference at - line 3.
Use of uninitialized value in ref-to-glob cast at - line 3.
Bad symbol for filehandle at - line 3.
EXIT STATUS: 255
# Failed test 74 - pipe() croaks on bad left side [perl \#126480] at lib/croak/pp_sys line 2
FILE: lib/croak/pp_sys ; line 10
PROG: 
my $fh;
no strict 'refs'; pipe($fh, $$5)
EXPECTED:
Bad symbol for filehandle at - line 2.
EXIT STATUS: != 0
GOT:
Use of uninitialized value $5 in scalar dereference at - line 2.
Use of uninitialized value in ref-to-glob cast at - line 2.
Bad symbol for filehandle at - line 2.
EXIT STATUS: 255
# Failed test 75 - pipe() croaks on bad right side [perl \#126480] at lib/croak/pp_sys line 10
FILE: lib/croak/pp_sys ; line 97
PROG: 
# this would assert rather than failing on the method call
E{0;readline@0}
EXPECTED:
Can't call method "E" without a package or object reference at - line 2.
EXIT STATUS: != 0
GOT:
readline() on unopened filehandle 0 at - line 2.
Can't call method "E" without a package or object reference at - line 2.
EXIT STATUS: 255
# Failed test 86 - readline() didn't scalar() its argument at lib/croak/pp_sys line 97
FILE: lib/croak/regcomp ; line 2
PROG: 
qr/\N{U+7FFFFFFFFFFFFFFF}/;
qr/\N{U+1_0000_0000_0000_0000}/;
EXPECTED:
Use of code point 0x1_0000_0000_0000_0000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF in regex; marked by <-- HERE in m/\N{U+1_0000_0000_0000_0000 <-- HERE }/ at - line 2.
EXIT STATUS: != 0
GOT:
Hexadecimal number > 0xffffffff non-portable at - line 1.
Hexadecimal number > 0xffffffff non-portable at - line 1.
Hexadecimal number > 0xffffffff non-portable at - line 1.
Hexadecimal number > 0xffffffff non-portable at - line 1.
Code point 0x7FFFFFFFFFFFFFFF is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/\N{U+7FFFFFFFFFFFFFFF} <-- HERE / at - line 1.
Hexadecimal number > 0xffffffff non-portable at - line 2.
Use of code point 0x1_0000_0000_0000_0000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF in regex; marked by <-- HERE in m/\N{U+1_0000_0000_0000_0000 <-- HERE }/ at - line 2.
EXIT STATUS: 29
# Failed test 87 - \N{U+too large} on 64-bit machine at lib/croak/regcomp line 2
FILE: lib/croak/regcomp ; line 16
PROG: 
qr/\N{U+100.7FFFFFFFFFFFFFFF}/;
qr/\N{U+100.1_0000_0000_0000_0000}/;
EXPECTED:
Use of code point 0x1_0000_0000_0000_0000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF in regex; marked by <-- HERE in m/\N{U+100.1_0000_0000_0000_0000 <-- HERE }/ at - line 2.
EXIT STATUS: != 0
GOT:
Hexadecimal number > 0xffffffff non-portable at - line 1.
Hexadecimal number > 0xffffffff non-portable at - line 1.
Hexadecimal number > 0xffffffff non-portable at - line 2.
Use of code point 0x1_0000_0000_0000_0000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF in regex; marked by <-- HERE in m/\N{U+100.1_0000_0000_0000_0000 <-- HERE }/ at - line 2.
EXIT STATUS: 29
# Failed test 89 - \N{U+100.too large} on 64-bit machine at lib/croak/regcomp line 16
FILE: lib/croak/toke ; line 239
PROG: 
use overload;
BEGIN { overload::constant q => sub {} }
'1', "1$_", tr"a"", s""a"
EXPECTED:
Constant(q): Call to &{$^H{q}} did not return a defined value at - line 3, near "'1'"
Constant(qq): Call to &{$^H{q}} did not return a defined value at - line 3, within string
Constant(tr): Call to &{$^H{q}} did not return a defined value at - line 3, within string
Constant(s): Call to &{$^H{q}} did not return a defined value at - line 3, within string
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Use of uninitialized value at - line 3.
Constant(q): Call to &{$^H{q}} did not return a defined value at - line 3, near "'1'"
Constant(qq): Call to &{$^H{q}} did not return a defined value at - line 3, within string
Constant(tr): Call to &{$^H{q}} did not return a defined value at - line 3, within string
Constant(s): Call to &{$^H{q}} did not return a defined value at - line 3, within string
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 135 - String constant overloading returning undef at lib/croak/toke line 239
FILE: lib/croak/toke ; line 460
PROG: 
tr//\N{}-0/;
EXPECTED:
Unknown charname '' at - line 1, within string
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Replacement list is longer than search list at - line 1.
Unknown charname '' at - line 1, within string
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 159 - tr/// range with empty \N{} at the start at lib/croak/toke line 460
FILE: lib/croak/toke ; line 506
PROG: 
0x x 2;
0xx 2;
0x_;
0b;
EXPECTED:
No digits found for hexadecimal literal at - line 1, near "0x "
No digits found for hexadecimal literal at - line 2, near "0xx"
No digits found for hexadecimal literal at - line 3, near "0x_;"
No digits found for binary literal at - line 4, near "0b;"
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Misplaced _ in number at - line 3.
No digits found for hexadecimal literal at - line 1, near "0x "
No digits found for hexadecimal literal at - line 2, near "0xx"
No digits found for hexadecimal literal at - line 3, near "0x_;"
No digits found for binary literal at - line 4, near "0b;"
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 165 - [perl \#134045] incomplete hex number at lib/croak/toke line 506
FILE: lib/croak/toke ; line 518
PROG: 
my %s; qr!@{s{0})(?{!;
EXPECTED:
syntax error at - line 1, near "})"
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Ambiguous use of @{s{...}} resolved to @s{...} at - line 1.
syntax error at - line 1, near "})"
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 166 - [perl \#130585] close paren in subparse at lib/croak/toke line 518
FILE: lib/croak/toke ; line 524
PROG: 
my ($x, %y, @z);
qq!$x\U $z[0] $y{a}\E $z[1]!;
my %s; qq!$x\U@{s{0})(?{!;
EXPECTED:
syntax error at - line 3, near ")("
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Ambiguous use of @{s{...}} resolved to @s{...} at - line 3.
syntax error at - line 3, near ")("
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 167 - [perl \#130585] close paren in subparse - a few more tests at lib/croak/toke line 524
FILE: lib/croak/toke ; line 544
PROG: 
use Config;
if ($Config{uvsize} < 8) {
    my $a = "\x{8000_0000}";
}
else {
    my $a = "\x{8000_0000_0000_0000}";
}
EXPECTED:
Use of code point 0x80000000(00000000)? is not allowed; the permissible max is 0x7FFFFFFF(FFFFFFFF)? at - line \d+.
EXIT STATUS: != 0
GOT:
Code point 0x80000000 is not Unicode, requires a Perl extension, and so is not portable at - line 3.
Use of code point 0x8000000000000000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF at - line 6.
EXIT STATUS: 255
# Failed test 169 - Forbid illegal \x{} code points at lib/croak/toke line 544
FILE: lib/croak/toke ; line 556
PROG: 
use Config;
if ($Config{uvsize} < 8) {
    my $b = "\o{20_000_000_000}";
}
else {
    my $b = "\o{1_000_000_000_000_000_000_000}";
}
EXPECTED:
Use of code point 0x80000000(00000000)? is not allowed; the permissible max is 0x7FFFFFFF(FFFFFFFF)? at - line \d+.
EXIT STATUS: != 0
GOT:
Code point 0x80000000 is not Unicode, requires a Perl extension, and so is not portable at - line 3.
Use of code point 0x8000000000000000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF at - line 6.
EXIT STATUS: 255
# Failed test 170 - Forbid illegal \o{} code points at lib/croak/toke line 556
FILE: lib/croak/toke_l1 ; line 3
PROG: 
BEGIN{{};$^H=-1}0
EXPECTED:
Malformed UTF-8 character: \xc3\x0a (unexpected non-continuation byte 0x0a, immediately after start byte 0xc3; need 2 bytes, got 1) at - line 1.
Malformed UTF-8 character (fatal) at - line 1.
EXIT STATUS: != 0
GOT:
Useless use of anonymous hash ({}) in void context at - line 1.
Malformed UTF-8 character: \xc3\x0a (unexpected non-continuation byte 0x0a, immediately after start byte 0xc3; need 2 bytes, got 1) at - line 1.
Malformed UTF-8 character (fatal) at - line 1.
EXIT STATUS: 29
# Failed test 172 - [perl \#129037] at lib/croak/toke_l1 line 3
#
# Note: 'run_multiple_progs' run has one or more failures
#        you can consider setting the environment variable
#        PERL_TEST_ABORT_FIRST_FAILURE=1 before running the test
#        to stop on the first error.
#
FAILED at test 21
t/lib/cygwin ................................................... skipped
t/lib/deprecate ................................................ ok
t/lib/mypragma ................................................. ok
t/lib/no_load .................................................. ok
t/lib/overload_fallback ........................................ ok
t/lib/overload_nomethod ........................................ ok
t/lib/proxy_constant_subs ...................................... ok
t/lib/universal ................................................ ok
