Subject: | dump-code.t tickles old B::Deparse bug |
Date: | Sun, 5 Feb 2012 00:19:27 +0000 |
To: | bug-YAML [...] rt.cpan.org |
From: | Zefram <zefram [...] fysh.org> |
Versions of B::Deparse prior to 0.71, packaged with Perl core versions
prior to 5.8.8, have a bug regarding lexical warning bits, which
means that its output for a "use warnings" pragma varies depending on
whether B::Deparse was loaded before or after YAML. Apparently YAML
is indirectly causing assignment of new warning bits, and the buggy
B::Deparse does poorly with warning bits assigned after it was loaded.
The current version of YAML's dump-code.t tickles this bug, because it
loads B::Deparse in order to check its "use strict" output. The version
with YAML 0.77 didn't.
I think that in the same spirit of being forgiving about the details
of deparsing for "use strict", the non-optimal (but still usable) "use
warnings" output should be accepted by the test suite. The easiest way
to achieve this is to load YAML earlier to avoid the B::Deparse bug.
Attached patch does this.
-zefram
Message body is not shown because sender requested not to inline it.