You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
; perl -E 'say $^V'
v5.28.3
;
; perldoc Devel::Cover | grep version | head -n1
version 1.36
;
; perl min_explode.pl
;
; PERL5OPT='-MDevel::Cover' perl min_explode.pl
Global symbol "$method" requires explicit package name (did you forget to declare "my $method"?) at min_explode.pl line 13.
Execution of min_explode.pl aborted due to compilation errors.
;
; cat min_explode.pl
use strict;
use Data::Dumper;
sub enbug {
local $Data::Dumper::Deparse = 1;
Data::Dumper::Dumper( sub{} );
}
sub min {
my $self = shift;
my %args = @_;
my $type;
my $method;
BEGIN { enbug() }
my $str = $method;
return 0;
}
So when Devel::Cover is in use, and $Data::Dumper::Deparse is true & a Dumper() is done, and Dumper() uses the XS version, it breaks compilation in strange ways.
Really strange ways -- removing any of the variable declarations "fixes" it.
The text was updated successfully, but these errors were encountered:
@haarg I don't think your PR does fix this one - at least it seems not to for me. Using 49bae33 and Perl 5.36.0 I can reproduce the error using tests/deparse_sub as
use strict;
use Data::Dumper;
sub z {
my %c = %+;
my $d;
my $e;
my $f;
BEGIN {
local $Data::Dumper::Deparse = 1;
Dumper sub {}
}
$f
}
and running perl -Mblib -MDevel::Cover tests/deparse_sub
I'm not sure why...
So when Devel::Cover is in use, and
$Data::Dumper::Deparse
is true & aDumper()
is done, and Dumper() uses the XS version, it breaks compilation in strange ways.Really strange ways -- removing any of the variable declarations "fixes" it.
The text was updated successfully, but these errors were encountered: