For Rc<>, it should be enough to have the GC traverse raw pointers
that have/don't have a special attribute (probably traversing by
default is the best choice), as long as the raw pointers have the
correct type.
Obviously it only makes sense to traverse types if it is possible for them to
point to GC pointers.
For
data held exclusively by external C libraries (assuming that there is
any), an unsafe GcVisitor trait that can be implemented to do the visit
should work, along with a NonGc kind for code that doesn't want to
implement GcVisitor (otherwise, mark&sweep GC would kill live
objects).
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev