Ticket #1537 (closed bug: fixed)
Continuations fail to revert all registers to the correct state
Reported by: | arnsholt | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | none | Version: | trunk |
Severity: | medium | Keywords: | |
Cc: | Language: | ||
Patch status: | Platform: |
Description
When the attached code is run, it outputs "foo\nfoo\n". The second foo should, in my opinion not be there. When the continuation to backtrack in choose() is created, val has not yet been assigned a value, and since choose() doesn't return a value on the backtrack (an intentional bug, to expose this behaviour) it should be in the same uninitialised state it was when the continuation was created.
See also discussion on #parrot: http://irclog.perlgeek.de/parrot/2010-03-30#i_2173883 and onwards (continues across in the next day's logs).
Attachments
Change History
Note: See
TracTickets for help on using
tickets.