This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
values and each are OA_DANGEROUS
authorFather Chrysostomos <sprout@cpan.org>
Sat, 8 Nov 2014 22:44:46 +0000 (14:44 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 9 Nov 2014 00:06:44 +0000 (16:06 -0800)
commitd86b31224ae14dba78f568f71804fe3016238a2c
treeaf6b74f8d8911846e38f94864970e00a15bab393
parent0ec830cc003067236a70fbd947fbeb4cabdf09be
values and each are OA_DANGEROUS

OA_DANGEROUS indicates that temporary copies may need to be made in
list assignment, to handle things like:

($a, $b) = ($b, $a);

In other words, an op type is flagged with OA_DANGEROUS if its return
values could occur elsewhere on the stack.

values and each can both return scalars that are referenced elsewhere,
causing list assignment to behave erratically if temporary copies
are not made.
opcode.h
regen/opcodes
t/op/each.t
t/op/each_array.t
t/op/smartkve.t