-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Rewrite Rc
and Arc
to use Cell
and Atomic
respectively
#12625
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
Comments
Nominating for P-Low |
Tagging as E-Mentor; I can mentor. |
Related to #12577 Other types that use interior mutability I can think of off the top of my head:
|
@nikomatsakis I'm definitely interested. Though---having never been a part of a project like this before---not quite sure how the mentoring works just yet :P |
This is the |
I don't understand the reasoning behind doing this for |
@thestinger Marker types do not seem clearer to me than At first I thought you were on to something regarding But this question is orthogonal to whether we use markers or
In this case, whether or not So after considering this some more, I still think that using @thestinger make sense? |
I don't think we have a way of enforcing deep immutability. There are many existing |
Every type using memory allocation needs to become non- |
@thestinger I don't believe that is an accurate summray of what was proposed, but it is a moot point, as in the latest plan there is no Freeze. |
Is there a change to |
I think @edwardw and I decided that |
Though I didn't dig too deeply, maybe @alexcrichton can confirm. But it looked to me like it was using the proper abstraction (is there more than one?) |
Indeed, |
@nikomatsakis I'm running into tests not compiling because something doesn't implement Freeze. Should I wait for #12577 to land before I continue? |
I actually did not realized that @edwardw is already on this issue. I'll let you handle this one :D |
Assigning P-low as suggested. |
Since `Arc` has been using `Atomic`, this closes 12625. Closes #12625.
…eykril fix: completes non exhaustive variant within the defining crate close rust-lang#12624
…cation, r=blyxyas fix incorrect suggestion for `!(a as type >= b)` fixes rust-lang#12625 The expression `!(a as type >= b)` got simplified to `a as type < b`, but because of rust's parsing rules that `<` is interpreted as a start of generic arguments for `type`. This is fixed by recognizing this case and adding extra parens around the left-hand side of the comparison. changelog: [`nonminimal_bool`]: fix incorrect suggestion for `!(a as type >= b)`
To the extent possible, we should try to have all interior mutability be done via
Cell
,RefCell
,Atomic
, or (not yet landed)Volatile
. If one of these patterns doesn't suffice, it'd be nice to know why!The text was updated successfully, but these errors were encountered: