On 12/6/13 10:12 AM, Niko Matsakis wrote:
I am not especially happy with these two changes. They feel hokey and special purpose. I guess the best sol'n depends on the degree of static safety we want. Without something like the `'return` lifetime, I'm not sure how we can guarantee that `Root` values follow a stack discipline -- and maybe we don't want to, because it does remove some flexibility (e.g., roots in data structures that transitively are tied to the stack and hence do follow a stack discipline).
Wouldn't these data structures be instead traced by the JS GC? ISTM if you are putting roots in a data structure it is best to make the data structure itself traced.
I think it's important to have this be safe in an ironclad sense--this is one of the most fundamental pieces of the Servo project--and as a result the `'return` lifetime is the solution I favor right now.
Patrick _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo