diff -rup Type-Tiny-1.002001-0/lib/Types/Standard.pm Type-Tiny-1.002001-ZnsxIn/lib/Types/Standard.pm --- Type-Tiny-1.002001-0/lib/Types/Standard.pm 2017-06-08 04:55:23.000000000 -0700 +++ Type-Tiny-1.002001-ZnsxIn/lib/Types/Standard.pm 2017-10-27 10:36:28.000000000 -0700 @@ -33,7 +33,10 @@ BEGIN { return !!1 if exists $stash->{'ISA'}; return !!1 if exists $stash->{'VERSION'}; foreach my $globref (values %$stash) { - return !!1 if *{$globref}{CODE}; + return !!1 + if ref \$globref eq 'GLOB' + ? *{$globref}{CODE} + : ref $globref; # const or sub ref } return !!0; }; diff -rup Type-Tiny-1.002001-0/t/20-unit/Type-Tiny/arithmetic.t Type-Tiny-1.002001-ZnsxIn/t/20-unit/Type-Tiny/arithmetic.t --- Type-Tiny-1.002001-0/t/20-unit/Type-Tiny/arithmetic.t 2017-06-08 04:55:23.000000000 -0700 +++ Type-Tiny-1.002001-ZnsxIn/t/20-unit/Type-Tiny/arithmetic.t 2017-10-27 10:46:34.000000000 -0700 @@ -85,11 +85,13 @@ should_pass(undef, ~Value); { package Local::Class4; sub XYZ () { 1 } + package Local::Class5; + use constant XZY => 2 } should_pass(undef, ~ClassName); should_pass([], ~ClassName); -should_fail("Local::Class$_", ~ClassName) for 2..4; +should_fail("Local::Class$_", ~ClassName) for 2..5; should_pass("Local::Dummy1", ~ClassName); should_fail([], ~(ArrayRef[Int]));