-
Notifications
You must be signed in to change notification settings - Fork 502
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
Issue 697 #698
Issue 697 #698
Conversation
…w rejected by a compiler error. `Sync` and `Send` are now derived by the compiler for `ScopeFuture`, except that the `Send`-safety of `impl ScopeHandle` is is still asserted unsafety. I did not review `rayon_core` to judge whether that is correct.
Merge branch 'issue-697' of github.com:jClaireCodesStuff/rayon into issue-697
I do think you're right that this needs This PR constitutes a breaking change, though it's to fix soundness, which we've allowed without a semver bump before. Plus rayon-futures requires the nasty Does this sound OK? |
715: Release and deprecate rayon-futures 0.1.1 r=cuviper a=cuviper This includes the soundness fix from #698, just targeted to a new branch. Co-authored-by: J Claire <[email protected]> Co-authored-by: Josh Stone <[email protected]>
I published rayon-futures 0.1.1 with this change. |
Wrote a test case. It demonstrates that the master sends
!Send
results, and fails to compile after my changes. The existing 12 tests pass.Removed
unsafe impl
ofSync
andSend
forScopeFuture
. Replaced it with:Send
bounds for the return types of the user'sFuture
ScopeHandle
with unsafeimpl Send
Now the only other type in the crate with
unsafe impl
isScopeFutureWrapped
.I need help transforming the test into one that expects a compiler error.
I did not investigate whether sending
ScopeHandle
is sound.