Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^5: ref to read-only alias ... why? (notabug)

by LanX (Canon)
on Jan 06, 2012 at 17:49 UTC ( #946638=note: print w/ replies, xml ) Need Help??


in reply to Re^4: ref to read-only alias ... why? (notabug)
in thread ref to read-only alias ... why?

Thats what I expected.

> I wonder why.

IMHO legacy code would break if you die here.

But a warning would be great.

Cheers Rolf


Comment on Re^5: ref to read-only alias ... why? (notabug)
Select or Download Code
Replies are listed 'Best First'.
Re^6: ref to read-only alias ... why? (notabug)
by dk (Chaplain) on Jan 06, 2012 at 18:08 UTC
    I agree on a warning, it would be a practical thing, after all. And after that, a real fix with 'die' a couple versions later should help the legacy code.

    Well anyway, I found the code suggested by ikegami, so would you guys review the patch please?

    --- pp.c.0 2012-01-06 01:07:34.511988700 +0100 +++ pp.c 2012-01-06 19:04:06.311428300 +0100 @@ -515,9 +515,11 @@ SvTEMP_off(sv); SvREFCNT_inc_void_NN(sv); } - else if (SvPADTMP(sv) && !IS_PADGV(sv)) + else if (SvPADTMP(sv) && !IS_PADGV(sv)) { + Perl_ck_warner(aTHX_ packWARN(WARN_MISC), + "Implicit copy of a read-only scalar due to aliasing"); sv = newSVsv(sv); - else { + } else { SvTEMP_off(sv); SvREFCNT_inc_void_NN(sv); }
        Could you please clarify which the "working case" is in your opinion?

        I agree with tye that there are good arguments for both perspectives.

        Cheers Rolf

        Well, I give up then.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://946638]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2015-07-28 05:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (252 votes), past polls