From 39c882dbc98f9882c1734a8ce9110ac8b59b2741 Mon Sep 17 00:00:00 2001 From: Nicholas Clark Date: Wed, 29 Nov 2006 10:19:19 +0000 Subject: Fix Attribute::Handlers to cope with proxy constant subroutines. p4raw-id: //depot/perl@29414 --- lib/Attribute/Handlers.pm | 1 + lib/Attribute/Handlers/t/constants.t | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 lib/Attribute/Handlers/t/constants.t (limited to 'lib') diff --git a/lib/Attribute/Handlers.pm b/lib/Attribute/Handlers.pm index 35484be426..6bd121b64d 100644 --- a/lib/Attribute/Handlers.pm +++ b/lib/Attribute/Handlers.pm @@ -16,6 +16,7 @@ sub findsym { no strict 'refs'; foreach my $sym ( values %{$pkg."::"} ) { use strict; + next unless ref ( \$sym ) eq 'GLOB'; return $symcache{$pkg,$ref} = \$sym if *{$sym}{$type} && *{$sym}{$type} == $ref; } diff --git a/lib/Attribute/Handlers/t/constants.t b/lib/Attribute/Handlers/t/constants.t new file mode 100644 index 0000000000..746a87e0ec --- /dev/null +++ b/lib/Attribute/Handlers/t/constants.t @@ -0,0 +1,13 @@ +BEGIN { + if ($ENV{PERL_CORE}) { + chdir 't' if -d 't'; + @INC = '../lib'; + } +} +use strict; +use Test::More tests => 1; +use Attribute::Handlers; +# This had been failing since the introduction of proxy constant subroutines +use constant SETUP => undef; +sub Test : ATTR(CODE) { }; +ok(1, "If we got here, CHECK didn't fail"); -- cgit v1.2.1