In perl.git, the branch smoke-me/avar/rv-fix-79908 has been created <http://perl5.git.perl.org/perl.git/commitdiff/45558e2060d49c463cdc10e07f8ff1c8e5d72cd4?hp=0000000000000000000000000000000000000000>
at 45558e2060d49c463cdc10e07f8ff1c8e5d72cd4 (commit) - Log ----------------------------------------------------------------- commit 45558e2060d49c463cdc10e07f8ff1c8e5d72cd4 Author: Ãvar Arnfjörð Bjarmason <a...@cpan.org> Date: Wed May 7 12:09:40 2014 +0000 Revert "[perl #79908] Stop sub inlining from breaking closures" This reverts commit 137da2b05b4b7628115049f343163bdaf2c30dbb. See the "How about having a recommended way to add constant subs dynamically?" thread on perl5-porters, specifically while it sucks that we have this bug, it's been documented to work this way since 5.003 in "Constant Functions" in perlsub: If the result after optimization and constant folding is either a constant or a lexically-scoped scalar which has no other references, then it will be used in place of function calls made without C<&> -- http://perldoc.perl.org/perlsub.html#Constant-Functions Since we've had this documented bug for a long time we should introduce this fix in a deprecation cycle rather than silently slowing down code that assumes it's going to be optimized by constant folding. I didn't revert the tests it t/op/sub.t, but turned them into TODO tests instead. Conflicts: t/op/sub.t ----------------------------------------------------------------------- -- Perl5 Master Repository