Re:Why Rust closures are somewhat hard
by amelius on Monday September 10, 2018 @05:36PM
(#17955426)
Yes, for example a DOM tree where every node has a backlink to its parent.
[ Parent
| on HN ]
Re:Why Rust closures are somewhat hard
by bzbarsky on Tuesday September 11, 2018 @05:52PM
(#17963719)
In a DOM tree, any live node in the tree needs to keep the entire tree alive.
Which means you either need some sort of garbage collection setup, or reference counting (with cycle collection), or some sort of indirection where you really hold references to a "tree + node" pair and then have to worry about what happens when a node moves from one tree to another. Or something else, other than just having a bunch of objects that all point to each other without any explicit ownership semantics...
Re:Why Rust closures are somewhat hard
by TheCoelacanth on Monday September 10, 2018 @07:12PM
(#17955923)
Considering that one of the largest and most prominent Rust projects (Servo) is a browser, that is obviously not an insurmountable problem.
Servo has a GC implementation for handling DOM nodes.
https://github.com/servo/servo/blob/master/components/script...
https://manishearth.github.io/blog/2015/09/01/designing-a-gc...