Skip to content

Rust features wanted for jrsonnet #165

@CertainLach

Description

@CertainLach

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 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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions