Thanks Graydon.

Restructuring your code to avoid cycles is problematic when you're
implementing a platform where the spec allows users to create ownership
cycles --- like, say, the Web platform. So if Rust didn't support cyclic
ownership, Servo would have to implement its own GC and tracing code just
like Gecko does. That's a situation we need to get away from.

An interesting meta-point is that when you're implementing a platform,
rather than a specific application, you have much less freedom to structure
the implementation because you don't know what any given instance of your
system actually does. This affects everything from the requirements on the
programming language to the design of graphics APIs.

Rob
-- 
q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq
qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq
qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq
qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q
qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq
qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q"
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to