Comment 1 for bug 1775384

Revision history for this message
Douglas Katzman (dougk) wrote :

Not a bug.
To assert stuff about what is/isn't provably reachable in such a narrow scope as these contrived examples, you have to make sure that local variables aren't acting as roots.
A pointer to the recently consed list may linger on the stack for various reasons.
In case it does; in the other case it doesn't. There's nothing to explain this at the language level; it's based on the assembly code's behavior, and whether the stack frame word that held a pointer to the thing you expect to have become unreachable got overwritten.