Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.91k stars 542 forks source link

‘Can’t locate package’ warning scope problems #10827

Open p5pRT opened 13 years ago

p5pRT commented 13 years ago

Migrated from rt.perl.org#79210 (status was 'open')

Searchable as RT79210$

p5pRT commented 13 years ago

From @cpansprout

See this code that I added to t/mro/package_aliases.t\, specifically the first comment​:

no warnings; # temporary; there seems to be a scoping bug\, as this does not   # work when placed in the blocks below

# Test that deleting stash elements containing # subpackages also invalidates the isa cache. # Maybe this does not belong in package_aliases.t\, but it is closely # related to the tests immediately preceding. { @​Pet​::ISA = ("Cur"\, "Hound"); @​Cur​::ISA = "Hylactete";

sub Hylactete​::speak { "Arff!" } sub Hound​::speak { "Woof!" }

my $pet = bless []\, "Pet";

my $life_raft = delete $​::{'Cur​::'};

is $pet->speak\, 'Woof!'\,   'deleting a stash from its parent stash invalidates the isa caches';

undef $life_raft; is $pet->speak\, 'Woof!'\,   'the deleted stash is gone completely when freed'; }


Flags​:   category=core   severity=low


Site configuration information for perl 5.13.6​:

Configured by sprout at Thu Nov 11 04​:29​:30 PST 2010.

Summary of my perl5 (revision 5 version 13 subversion 6) configuration​:   Commit id​: fc6b470a9b3c7b9e095c3bac75416cf4c5dca0d3   Platform​:   osname=darwin\, osvers=10.4.0\, archname=darwin-2level   uname='darwin pint.local 10.4.0 darwin kernel version 10.4.0​: fri apr 23 18​:28​:53 pdt 2010; root​:xnu-1504.7.4~1release_i386 i386 '   config_args='-de -Dusedevel -Doptimize=-Os -Dusemymalloc=y -Duseshrplib=true -Duselargefiles=yes -Duseposix=true -Dhint-recommended =Duseperlio=yes -Duse64bitint=yes'   hint=recommended\, useposix=true\, d_sigaction=define   useithreads=undef\, usemultiplicity=undef   useperlio=define\, d_sfio=undef\, uselargefiles=define\, usesocks=undef   use64bitint=undef\, use64bitall=undef\, uselongdouble=undef   usemymalloc=y\, bincompat5005=undef   Compiler​:   cc='cc'\, ccflags ='-fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'\,   optimize='-Os'\,   cppflags='-no-cpp-precomp -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'   ccversion=''\, gccversion='4.2.1 (Apple Inc. build 5664)'\, gccosandvers=''   intsize=4\, longsize=4\, ptrsize=4\, doublesize=8\, byteorder=1234   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16   ivtype='long'\, ivsize=4\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8   alignbytes=8\, prototype=define   Linker and Libraries​:   ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc'\, ldflags =' -fstack-protector -L/usr/local/lib'   libpth=/usr/local/lib /usr/lib   libs=-ldbm -ldl -lm -lutil -lc   perllibs=-ldl -lm -lutil -lc   libc=/usr/lib/libc.dylib\, so=dylib\, useshrplib=true\, libperl=libperl.dylib   gnulibc_version=''   Dynamic Linking​:   dlsrc=dl_dlopen.xs\, dlext=bundle\, d_dlsymun=undef\, ccdlflags=' '   cccdlflags=' '\, lddlflags=' -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector'

Locally applied patches​:  


@​INC for perl 5.13.6​:   /usr/local/lib/perl5/site_perl/5.13.6/darwin-2level   /usr/local/lib/perl5/site_perl/5.13.6   /usr/local/lib/perl5/5.13.6/darwin-2level   /usr/local/lib/perl5/5.13.6   /usr/local/lib/perl5/site_perl   .


Environment for perl 5.13.6​:   DYLD_LIBRARY_PATH (unset)   HOME=/Users/sprout   LANG=en_US.UTF-8   LANGUAGE (unset)   LD_LIBRARY_PATH (unset)   LOGDIR (unset)   PATH=/usr/bin​:/bin​:/usr/sbin​:/sbin​:/usr/local/bin​:/usr/X11/bin​:/usr/local/bin   PERL_BADLANG (unset)   SHELL=/bin/bash

p5pRT commented 12 years ago

From @jkeenan

On Sun Nov 14 13​:46​:38 2010\, sprout wrote​:

See this code that I added to t/mro/package_aliases.t\, specifically the first comment​:

no warnings; # temporary; there seems to be a scoping bug\, as this does not # work when placed in the blocks below

The attached confirms this bug and demonstrates that\, since it occurs with Test​::More\, it is independent of the use of ./t/test.pl in core.

p5pRT commented 12 years ago

From @jkeenan

bigdog.pl

p5pRT commented 12 years ago

The RT System itself - Status changed from 'new' to 'open'