New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AUTOLOAD :lvalue not working the same in blead as in 5.8.8 #8786
Comments
From @smpetersOn IRC, Caelum pointed out that the following example from "Extending perl -le 'package Foo; sub AUTOLOAD :lvalue { *{$AUTOLOAD} } package main; my Steve Peters |
From @andk
> # New Ticket Created by Steve Peters > On IRC, Caelum pointed out that the following example from "Extending > perl -le 'package Foo; sub AUTOLOAD :lvalue { *{$AUTOLOAD} } package main; my Binary search hints at 26446. Change 26446 by nicholas@nicholas-saigo on 2005/12/22 11:23:34 Add an optimisation to allow proxy constant subroutines to be copied -- |
The RT System itself - Status changed from 'new' to 'open' |
From @nwc10On Tue, Feb 20, 2007 at 08:16:27AM +0100, Andreas J. Koenig wrote:
As I'm about to head off to catch a plane to go to the German Perl Workshop, I suspect that it's going to be a "step through with the debugger" job, I'm surprised that we don't have a regression test for this construction. Nicholas Clark |
From @nwc10On Tue, Feb 20, 2007 at 08:16:27AM +0100, Andreas J. Koenig wrote:
Erk. Right. It's happening because this first comment is wrong: /* OP_RV2[AH]V, OP_PAD[AH]V, OP_[AH]ELEM */ That flag is also applied to OP_RV2GV [via a fall through in a switch The problem was that based on that comment and other investigation I used /* OP_RV2GV only */ Curiously, OPpMAYBE_LVSUB is only used in this part of Perl_peep() case OP_PADAV: I'm not sure what the solution is yet, because I don't know the significance Nicholas Clark |
From rick@bort.caOn Feb 25 2007, Nicholas Clark wrote:
See also LVRET. [...]
[...] This is where OP_AELEM is optimized to OP_AELEMFAST for constant $a[0]->{whatever};# only OP_AELEM can autovivify $a[0] but this doesn't work anyway sub foo : lvalue { $a[0] } Still, that may be fixed in the future, so I think it is correct to not
#define OPpDONT_INIT_GV 32 ? -- |
From @nwc10On Sun, Feb 25, 2007 at 05:32:07PM -0500, Rick Delaney wrote:
Thanks for the explanation of why.
I was wondering about 4. I tried 32, and didn't get past dynaloader. Whilst Nicholas Clark Change 30407 by nicholas@nicholas-saigo on 2007/02/26 11:07:06 Fix bug #41550 - AUTOLOAD :lvalue not working the same in blead as in Affected files ... ... //depot/perl/op.h#166 edit Differences ... ==== //depot/perl/op.h#166 (text) ==== @@ -203,14 +203,14 @@ /* OP_RV2GV only */ ==== //depot/perl/t/op/sub_lval.t#11 (xtext) ==== @@ -3,7 +3,7 @@ sub a : lvalue { my is($line, "zeroonetwothree"); |
p5p@spam.wizbit.be - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#41550 (status was 'resolved')
Searchable as RT41550$
The text was updated successfully, but these errors were encountered: