CC-ing some SpiderMonkey GC people. Terrence, I know that you did some Rust stuff recently, so maybe you have the required bits of information to comment on this?
On Wed, Sep 23, 2015 at 7:15 PM, Josh Matthews <j...@joshmatthews.net> wrote: > I have a branch of rust-mozjs where I attempted to implement a Rust > version of CustomAutoRooter/AutoGCRooter from SpiderMonkey: > https://github.com/jdm/rust-mozjs/commit/ff89d9609e17e7727c038c8ea8deab88bae4333e > > This compiles fine, but I hit problems when I attempted to integrate it > with my previous work for a safe Rust interface to SM's typed arrays: > https://github.com/servo/servo/pull/6779 > > Specifically, my problems stem from this - given that creating a typed > array is fallible, as is wrapping an existing typed array reflector, we > decided to make the constructors for the typed array APIs return Result > values. Unfortunately this interacts poorly with AutoGCRooter, since it > stores pointers to Rust objects that end up moving when unwrapping the > Result ( > https://github.com/jdm/rust-mozjs/commit/ff89d9609e17e7727c038c8ea8deab88bae4333e#diff-5f5de62bd671c7658b23fd6be60ce6bfR41 > ). > > Can anybody think of a useful way around this problem, or are we doomed to > non-idiomatic APIs when we're trying to directly integrate with SM's lists > of rooted values? > _______________________________________________ > dev-servo mailing list > dev-servo@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-servo > _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo