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

Deprecate @ syntax, as with ~ syntax. #14193

Closed
alexcrichton opened this issue May 14, 2014 · 5 comments
Closed

Deprecate @ syntax, as with ~ syntax. #14193

alexcrichton opened this issue May 14, 2014 · 5 comments
Labels
P-low Low priority

Comments

@alexcrichton
Copy link
Member

We currently still allow @ syntax without allowing ~ syntax. We should apply the same lang-item approach for ~ to @ and start using Gc<T> everywhere.

We would also be able to remove the feature gate because the Gc structure would be marked #[experimental]

Nominating.

@huonw
Copy link
Member

huonw commented May 14, 2014

Would it be unreasonable to just remove @ entirely?

(Temporarily implementing Gc<T> as a wrapper around Rc<T>? Or even just removing it too, it's doing nothing useful in its current form: mainly just pretending that Rust actually has a GC.)

@alexcrichton
Copy link
Member Author

I would think that because Gc<T> collects cycles when the task ends that we'd need to keep the infrastructure for now.

I believe that there are good portions of the compiler that are leaking their memory currently because Rc<T> will leak on cycles, and it would be a shame to impose something like this on servo as well. This is mostly just a guess, though.

@huonw
Copy link
Member

huonw commented May 14, 2014

Hasn't servo moved to using the spidermonkey GC?

@pnkfelix
Copy link
Member

sounds fine to just shift the existing infrastructure over to Gc<T>.

Assigning P-low; not a 1.0 blocker so not on the 1.0 milestone.

@huonw
Copy link
Member

huonw commented May 16, 2014

For reference, grep doesn't reveal any uses of @ (as a GC'd pointer) in Servo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P-low Low priority
Projects
None yet
Development

No branches or pull requests

3 participants