Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove ref-counting Gc<T> #256

Merged
merged 3 commits into from
Oct 1, 2014

Conversation

pnkfelix
Copy link
Member

Summary

Remove the reference-counting based Gc<T> type from the standard
library and its associated support infrastructure from rustc.

Doing so lays a cleaner foundation upon which to prototype a proper
tracing GC, and will avoid people getting incorrect impressions of
Rust based on the current reference-counting implementation.

(rendered)

@steveklabnik
Copy link
Member

Big 👍 here.

@CloudiDust
Copy link
Contributor

+1, and we should make the plan known to as many in the community as possible, so people will not assume that Rust is never going to have a proper tracing GC.

@Ericson2314
Copy link
Contributor

Sounds good!

implementation). I propose leaving them, but it does not matter
terribly to me. The important thing is that once `std::gc` is gone,
then we can remove the support code associated with those two lang
items, which is the important thing.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Take 'em out - keep things clean as possible. Chances are the future GC will end up having different lang items, and in any case it is no bother to add more lang items.

@nikomatsakis
Copy link
Contributor

👍

@pnkfelix
Copy link
Member Author

(hmm, the sample program I just added to the RFC seems to consistently cause the playpen timeout to trigger. AFAICT it seems to be triggered by my call to timer::sleep on a non-main task; you can remove that to run it to completion in the playpen if you want.)

@thehydroimpulse
Copy link

👍

@jsanders
Copy link

@pnkfelix: Would it be possible to just include output from a run of the sample program, so that we don't need to run it in the playpen (or compile it locally) to see what it's demonstrating?

Revise the printouts as well to be clearer about each cases' intent.
@brson brson mentioned this pull request Oct 1, 2014
@brson brson merged commit 3d69055 into rust-lang:master Oct 1, 2014
@brson
Copy link
Contributor

brson commented Oct 1, 2014

Accepted as RFC 67. Discussion. Tracking.

@Centril Centril added A-allocation Proposals relating to allocation. A-machine Proposals relating to Rust's abstract machine. labels Nov 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-allocation Proposals relating to allocation. A-machine Proposals relating to Rust's abstract machine.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants