Hacker News new | past | comments | ask | show | jobs | submit login

Other languages that support closures have stack allocated objects too. So its no different in this case.

Maybe this wikipedia article has details: http://en.wikipedia.org/wiki/Thunk




C-style stack allocated objects captured by closures are not memory-safe in the absence of escape analysis. If the closure outlives the stack frame that allocated the object, a dangling pointer may occur, unless the stack frame itself is allocated on the heap, or the captured objects are moved by the compiler into a structure which is itself allocated on the heap.


Exactly, the stack frame needs to survive with the Closure.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: