Skip to content

Guarantee alignment of fixed-width integer primitives#2205

Open
joshlf wants to merge 4 commits intorust-lang:masterfrom
joshlf:patch-11
Open

Guarantee alignment of fixed-width integer primitives#2205
joshlf wants to merge 4 commits intorust-lang:masterfrom
joshlf:patch-11

Conversation

@joshlf
Copy link
Contributor

@joshlf joshlf commented Mar 11, 2026

Follows up on #2200 (comment)

As an optional extension, we could consider guaranteeing equality between the alignments of:

  • u32 and char
  • u32 and f32
  • u64 and f64

Those equalities strike me as less important, and I'm not sure if they're even valid (ie, whether they hold on all platforms).

@rustbot rustbot added the S-waiting-on-review Status: The marked PR is awaiting review from a maintainer label Mar 11, 2026
Let's make this wording a bit more clear, and let's fix the em dash to
use `---` since that's what our renderer expects.
The purpose of the existing `layout.primitive.align` rule is to state
that the alignment of primitives is platform-specific.  Adding a
separate alignment guarantee for integers overloads this a bit.  Let's
instead separate out the rules; we'll rename the existing rule since
there are now two rules speaking to alignment.
@traviscross traviscross added T-lang Relevant to the language team. I-lang-nominated Nominated for discussion during a lang team meeting. P-lang-drag-1 Lang team prioritization drag level 1. I-lang-radar Items that are on lang's radar and will need eventual work or consideration. labels Mar 11, 2026
@traviscross
Copy link
Contributor

traviscross commented Mar 11, 2026

Thanks. I pushed a clarification and separated out the rules.

Clearly we want to guarantee this for fixed-width integers of the same size.

@rfcbot fcp merge lang

@rust-rfcbot
Copy link
Collaborator

rust-rfcbot commented Mar 11, 2026

Team member @traviscross has proposed to merge this. The next step is review by the rest of the tagged team members:

No concerns currently listed.

Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns.
See this document for info about what commands tagged team members can give me.

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

Labels

disposition-merge I-lang-nominated Nominated for discussion during a lang team meeting. I-lang-radar Items that are on lang's radar and will need eventual work or consideration. P-lang-drag-1 Lang team prioritization drag level 1. proposed-final-comment-period S-waiting-on-review Status: The marked PR is awaiting review from a maintainer T-lang Relevant to the language team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants