This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
TODO B-Deparse cpan-bug 33708
authorReini Urban <rurban@x-ray.at>
Mon, 16 Jun 2008 14:40:35 +0000 (16:40 +0200)
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Mon, 16 Jun 2008 14:13:58 +0000 (14:13 +0000)
From: "Reini Urban" <rurban@x-ray.at>
Message-ID: <6910a60806160540v21c7affbte54ef0eedb0cb64d@mail.gmail.com>

p4raw-id: //depot/perl@34063

ext/B/B/Deparse.pm
ext/B/t/deparse.t

index b70a17c..0401ea3 100644 (file)
@@ -4802,6 +4802,8 @@ dual-valued scalars correctly, as in:
 
     use constant E2BIG => ($!=7); $y = E2BIG; print $y, 0+$y;
 
+    use constant H => { "#" => 1 }; H->{"#"};
+
 =item *
 
 An input file that uses source filtering probably won't be deparsed into
@@ -4818,6 +4820,10 @@ have a compile-time side-effect, such as the obscure
 
 which is not, consequently, deparsed correctly.
 
+    foreach my $i (@_) { 0 }
+  =>
+    foreach my $i (@_) { '???' }
+
 =item *
 
 Lexical (my) variables declared in scopes external to a subroutine
index 13c6e2c..a8cb356 100644 (file)
@@ -27,7 +27,7 @@ BEGIN {
     require feature;
     feature->import(':5.10');
 }
-use Test::More tests => 61;
+use Test::More tests => 64;
 
 use B::Deparse;
 my $deparse = B::Deparse->new();
@@ -420,3 +420,15 @@ else { x(); }
 # 54 interpolation in regexps
 my($y, $t);
 /x${y}z$t/;
+####
+# SKIP ?$B::Deparse::VERSION <= 0.87 && "TODO new undocumented cpan-bug #33708"
+# 55  (cpan-bug #33708)
+%{$_ || {}}
+####
+# SKIP ?$B::Deparse::VERSION <= 0.87 && "TODO hash constants not yet fixed"
+# 56  (cpan-bug #33708)
+use constant H => { "#" => 1 }; H->{"#"}
+####
+# SKIP ?$B::Deparse::VERSION <= 0.87 && "TODO optimized away 0 not yet fixed"
+# 57  (cpan-bug #33708)
+foreach my $i (@_) { 0 }