-
Notifications
You must be signed in to change notification settings - Fork 292
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
multi: Use atomic types in exported modules. #3054
base: master
Are you sure you want to change the base?
Conversation
Copying the relevant discussion from #3053: From @davecgh:
From @jrick:
From @davecgh:
|
The bootstrap is only intended for building a more recent Go. There is no reason to build any other project from it. |
69850f6
to
c2bbaa3
Compare
Rebased after #3055 |
c2bbaa3
to
9e45328
Compare
9e45328
to
99f5268
Compare
99f5268
to
f8b2288
Compare
Rebased and updated for 2024 |
The CI pipeline is only using Go 1.21 and 1.22, so building on 1.19 and 1.20 is promised but not checked. Adding these two older versions to the CI would double the time it takes to run the tests on each PR update. And even then, building the non-main modules on 1.17 and 1.18 would still not be checked. |
go 1.19 introduced new atomic types which hide the underlying primitive types so that all accesses are forced to use the atomic APIs. This makes the code less prone to human error and a bit less verbose.
Extracted from #3053 which was originally a repo-wide change, this PR includes just the exported modules.