Skip to content

core: make atomic primitives type aliases of Atomic<T>#153015

Merged
rust-bors[bot] merged 6 commits intorust-lang:mainfrom
joboet:atomic_alias_generic
Mar 2, 2026
Merged

core: make atomic primitives type aliases of Atomic<T>#153015
rust-bors[bot] merged 6 commits intorust-lang:mainfrom
joboet:atomic_alias_generic

Conversation

@joboet
Copy link
Member

@joboet joboet commented Feb 23, 2026

View all comments

Tracking issue: #130539

This makes AtomicI32 and friends type aliases of Atomic<T> by encoding their alignment requirements via the use of an internal Storage associated type. This is also used to encode that AtomicBool store a u8 internally.

Modulo the Send/Sync implementations, this PR does not move any trait implementations, methods or associated functions – I'll leave that for another PR.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Feb 23, 2026
@rustbot
Copy link
Collaborator

rustbot commented Feb 23, 2026

r? @jhpratt

rustbot has assigned @jhpratt.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: @scottmcm, libs
  • @scottmcm, libs expanded to 8 candidates
  • Random selection from Mark-Simulacrum, jhpratt, scottmcm

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@joboet joboet force-pushed the atomic_alias_generic branch from 2065018 to affc0ef Compare February 23, 2026 15:49
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@joboet joboet added A-atomic Area: Atomics, barriers, and sync primitives T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. labels Feb 23, 2026
@rust-log-analyzer

This comment has been minimized.

@joboet joboet force-pushed the atomic_alias_generic branch from a560a10 to eb42c0f Compare February 23, 2026 23:35
@rust-log-analyzer

This comment has been minimized.

@joboet joboet added A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Feb 24, 2026
@joboet
Copy link
Member Author

joboet commented Feb 24, 2026

@rustbot author
Until I finally get CI working...

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 24, 2026
@rust-log-analyzer

This comment has been minimized.

@joboet joboet force-pushed the atomic_alias_generic branch from 9b27200 to 7d17424 Compare February 24, 2026 13:32
@rust-log-analyzer

This comment has been minimized.

@joboet joboet force-pushed the atomic_alias_generic branch from 7d17424 to bbc357f Compare February 24, 2026 14:27
@rust-log-analyzer

This comment has been minimized.

@rustbot rustbot added the T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. label Feb 25, 2026
@rust-log-analyzer

This comment has been minimized.

@joboet joboet force-pushed the atomic_alias_generic branch from 708144d to 34463cb Compare February 25, 2026 16:12
@rustbot
Copy link
Collaborator

rustbot commented Feb 25, 2026

Some changes occurred in src/tools/clippy

cc @rust-lang/clippy

@rustbot rustbot added the T-clippy Relevant to the Clippy team. label Feb 25, 2026
@joboet joboet force-pushed the atomic_alias_generic branch from d47812b to e9ca34f Compare March 2, 2026 10:57
@joboet
Copy link
Member Author

joboet commented Mar 2, 2026

@bors try jobs=aarch64-msvc-1

@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Mar 2, 2026
core: make atomic primitives type aliases of `Atomic<T>`


try-job: aarch64-msvc-1
@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 2, 2026

☀️ Try build successful (CI)
Build commit: 03c834e (03c834ed38ddc6ecb0ae2099b9782b95ab9a0731, parent: ddd36bd57051f796850345b76c17e9402e28a9e4)

@joboet
Copy link
Member Author

joboet commented Mar 2, 2026

That should work now (I mistakenly used </> instead of &lt;/&gt; in the Natvis visualisers...)
@bors r=@jhpratt

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 2, 2026

📌 Commit e9ca34f has been approved by jhpratt

It is now in the queue for this repository.

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 2, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Mar 2, 2026
…ratt

core: make atomic primitives type aliases of `Atomic<T>`

Tracking issue: rust-lang#130539

This makes `AtomicI32` and friends type aliases of `Atomic<T>` by encoding their alignment requirements via the use of an internal `Storage` associated type. This is also used to encode that `AtomicBool` store a `u8` internally.

Modulo the `Send`/`Sync` implementations, this PR does not move any trait implementations, methods or associated functions – I'll leave that for another PR.
rust-bors bot pushed a commit that referenced this pull request Mar 2, 2026
…uwer

Rollup of 5 pull requests

Successful merges:

 - #153153 (add tests for thumb interworking)
 - #149328 (Add `String<A>` type with custom allocator parameter)
 - #151780 (Updated slice tests to pass for big endian hosts for `multiple-option-or-permutations.rs`)
 - #153015 (core: make atomic primitives type aliases of `Atomic<T>`)
 - #153292 (tests: codegen-llvm: vec-calloc: do not require the uwtable attribute)

Failed merges:

 - #151864 (Implement AST -> HIR generics propagation in delegation)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Mar 2, 2026
…ratt

core: make atomic primitives type aliases of `Atomic<T>`

Tracking issue: rust-lang#130539

This makes `AtomicI32` and friends type aliases of `Atomic<T>` by encoding their alignment requirements via the use of an internal `Storage` associated type. This is also used to encode that `AtomicBool` store a `u8` internally.

Modulo the `Send`/`Sync` implementations, this PR does not move any trait implementations, methods or associated functions – I'll leave that for another PR.
rust-bors bot pushed a commit that referenced this pull request Mar 2, 2026
…uwer

Rollup of 9 pull requests

Successful merges:

 - #153153 (add tests for thumb interworking)
 - #149328 (Add `String<A>` type with custom allocator parameter)
 - #151780 (Updated slice tests to pass for big endian hosts for `multiple-option-or-permutations.rs`)
 - #151962 (Fix next-solver ICE on PointeeSized goals)
 - #153015 (core: make atomic primitives type aliases of `Atomic<T>`)
 - #153161 (Rejig `rustc_with_all_queries!`)
 - #153191 (  don't emit `unused_results` lint for tuples of "trivial" types )
 - #153273 (vec/mod.rs: add missing period in "ie." in docs)
 - #153292 (tests: codegen-llvm: vec-calloc: do not require the uwtable attribute)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Mar 2, 2026
…ratt

core: make atomic primitives type aliases of `Atomic<T>`

Tracking issue: rust-lang#130539

This makes `AtomicI32` and friends type aliases of `Atomic<T>` by encoding their alignment requirements via the use of an internal `Storage` associated type. This is also used to encode that `AtomicBool` store a `u8` internally.

Modulo the `Send`/`Sync` implementations, this PR does not move any trait implementations, methods or associated functions – I'll leave that for another PR.
rust-bors bot pushed a commit that referenced this pull request Mar 2, 2026
…uwer

Rollup of 11 pull requests

Successful merges:

 - #153153 (add tests for thumb interworking)
 - #149328 (Add `String<A>` type with custom allocator parameter)
 - #151780 (Updated slice tests to pass for big endian hosts for `multiple-option-or-permutations.rs`)
 - #151962 (Fix next-solver ICE on PointeeSized goals)
 - #153015 (core: make atomic primitives type aliases of `Atomic<T>`)
 - #153161 (Rejig `rustc_with_all_queries!`)
 - #153191 (  don't emit `unused_results` lint for tuples of "trivial" types )
 - #153273 (vec/mod.rs: add missing period in "ie." in docs)
 - #153292 (tests: codegen-llvm: vec-calloc: do not require the uwtable attribute)
 - #153293 (library: std: process: skip tests on Hermit)
 - #153301 (Do not ping kobzol on rustc-dev-guide changes)
rust-bors bot pushed a commit that referenced this pull request Mar 2, 2026
…uwer

Rollup of 10 pull requests

Successful merges:

 - #153153 (add tests for thumb interworking)
 - #151780 (Updated slice tests to pass for big endian hosts for `multiple-option-or-permutations.rs`)
 - #151962 (Fix next-solver ICE on PointeeSized goals)
 - #153015 (core: make atomic primitives type aliases of `Atomic<T>`)
 - #153161 (Rejig `rustc_with_all_queries!`)
 - #153191 (  don't emit `unused_results` lint for tuples of "trivial" types )
 - #153273 (vec/mod.rs: add missing period in "ie." in docs)
 - #153292 (tests: codegen-llvm: vec-calloc: do not require the uwtable attribute)
 - #153293 (library: std: process: skip tests on Hermit)
 - #153301 (Do not ping kobzol on rustc-dev-guide changes)
@rust-bors rust-bors bot merged commit ef4cff2 into rust-lang:main Mar 2, 2026
12 checks passed
@rustbot rustbot added this to the 1.96.0 milestone Mar 2, 2026
rust-timer added a commit that referenced this pull request Mar 2, 2026
Rollup merge of #153015 - joboet:atomic_alias_generic, r=jhpratt

core: make atomic primitives type aliases of `Atomic<T>`

Tracking issue: #130539

This makes `AtomicI32` and friends type aliases of `Atomic<T>` by encoding their alignment requirements via the use of an internal `Storage` associated type. This is also used to encode that `AtomicBool` store a `u8` internally.

Modulo the `Send`/`Sync` implementations, this PR does not move any trait implementations, methods or associated functions – I'll leave that for another PR.
@JonathanBrouwer
Copy link
Contributor

@rust-timer build 1a1c116

@rust-timer
Copy link
Collaborator

Missing artifact for sha 1a1c116 (https://ci-artifacts.rust-lang.org/rustc-builds/1a1c116/rustc-nightly-x86_64-unknown-linux-gnu.tar.xz); not built yet, try again later.

@JonathanBrouwer
Copy link
Contributor

The perf build seems to have been lost so will make a new one, hope this works
@bors try parent=58745ca3b05afa82bd5720dd05f3854e674700e0
@rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 3, 2026

❌ Encountered an error while executing command

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Mar 3, 2026
@JonathanBrouwer
Copy link
Contributor

Hmmm nvm then I guess

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-atomic Area: Atomics, barriers, and sync primitives A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.) S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. S-waiting-on-perf Status: Waiting on a perf run to be completed. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants