Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

Make atomic functions return scope, not ref return #3541

Merged
merged 1 commit into from
Aug 18, 2021

Conversation

dkorpel
Copy link
Contributor

@dkorpel dkorpel commented Aug 10, 2021

I made a mistake in #3480 by adding just return without scope. That would suggest ref T val would return a T* like &val, but they return a T. This trips up SharedRegion in std.allocator after applying dlang/dmd#12812 because of this:

localCurrent = atomicLoad(this._current);

Which would needlessly turn localCurrent into a scope pointer since atomicLoad's signature suggests it's essentially returning &this which it isn't.

@dlang-bot
Copy link
Contributor

Thanks for your pull request and interest in making D better, @dkorpel! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please verify that your PR follows this checklist:

  • My PR is fully covered with tests (you can see the coverage diff by visiting the details link of the codecov check)
  • My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
  • I have provided a detailed rationale explaining my changes
  • New or modified functions have Ddoc comments (with Params: and Returns:)

Please see CONTRIBUTING.md for more information.


If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + druntime#3541"

@dkorpel dkorpel force-pushed the atomic-return-scope branch 2 times, most recently from 0af7297 to 80123fd Compare August 10, 2021 23:46
@RazvanN7 RazvanN7 merged commit 5a77d7f into dlang:master Aug 18, 2021
@dkorpel dkorpel deleted the atomic-return-scope branch August 18, 2021 09:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants