On 16/05/2011 11:59 AM, Tim Chevalier wrote:
There's only one thing I've noticed about RC (never having worked with a system that used it before): it seems to be a source of compiler bugs. Just in writing code that seems to be a bit more functional and deeply-nested than some of the existing code in rustc, I've found two bugs involving the compiler forgetting to emit drop code in the right place. With GC, the compiler typically has to do some work too -- that is, specifying data layout -- but we'll have to do that anyway.
True enough. Though the interaction is there in compiler-supported GC systems too: you have to get all the transient pointers identified, and make sure they're all flushed back to findable places at "safe points" when the GC might kick in. At least if it's precise rather than conservative.
But yeah. It's delicate. Whole thing's delicate :( -Graydon _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
