You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some traits in jrsonnet have as_any/as_any_mut methods
Those methods might be removed by making Any a supertrait of those, but it will be only possible with
Many good Rust GC designs with explicit root tracking (Like https://github.com/withoutboats/shifgrethor) require method receivers to be typed as in fn method(self: Gc<Self>), this requires
(This is also possible to implement with rustc_driver, which implements required linting, as in servo... But this is uglier, and requires using separate compiler)
Until then, current Gc is a reference counting with cycle collection instead, as we can't reliably track roots. rust-gc, which was used previously, spends too much time tracking roots, so its approach is not practical.
The text was updated successfully, but these errors were encountered:
To remove as_any[_mut] methods
Some traits in jrsonnet have as_any/as_any_mut methods
Those methods might be removed by making Any a supertrait of those, but it will be only possible with
Better GC
Many good Rust GC designs with explicit root tracking (Like https://github.com/withoutboats/shifgrethor) require method receivers to be typed as in
fn method(self: Gc<Self>)
, this requiresarbitrary_self_types
rust-lang/rust#44874(This is also possible to implement with rustc_driver, which implements required linting, as in servo... But this is uglier, and requires using separate compiler)
Until then, current Gc is a reference counting with cycle collection instead, as we can't reliably track roots.
rust-gc
, which was used previously, spends too much time tracking roots, so its approach is not practical.The text was updated successfully, but these errors were encountered: