Skip to content

Consistent tiers target naming #902

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions src/compiler/proposals-and-stabilization.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ are suitable for each method of making a proposal - see below):
other team members to raise any concerns.
- Seconding can only be used to approve a MCP.
- FCP
- A final comment period will require sign-off from a majority of the compiler team to approve
a proposal and then a ten day waiting period.
- A Final Comment Period is started by a T-compiler member, it's a tool to get concrete consensus
from the team.
Comment on lines +21 to +22
Copy link
Member

@jieyouxu jieyouxu Jun 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remark: there's a funny thing where "FCP" can mean both:

  1. A compiler-fcp team consensus vote, which is a full FCP-subteam Final Comment Period.
  2. A Major Change Proposal (MCP) acceptance Final Comment Period window, but that only requires one "second" and no blocking objections.

Lol.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uhhh

Let's pretend you didn't see anything.

Copy link
Member

@jieyouxu jieyouxu Jun 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(To make matters worse, they are not mutually exclusive. You can ask the compiler team to make a team FCP1 decision on an MCP. When that team FCP1 has approvals modulo 2 members, an FCP2 starts.)

Footnotes

  1. This "FCP" is the team consensus vote process that requires a Final Comment Period to pass in order to be considered accepted. 2

  2. This "FCP" means Final Comment Period.

- Requires sign-off from a majority of the compiler team to approve a proposal and then a ten days
waiting period.
- FCPs can be used to approve any form of proposal.

## Proposals
Expand Down Expand Up @@ -254,7 +256,7 @@ circumstance.
- **Approve using:** r+ (compiler leads)
- You can `r? compiler_leads` on the PR to roll one of the compiler leads as the reviewer.
- Open a PR with the new target (w/ relevant documentation updates) and document adherence to the
[target tier policy][tier_policy] in the description. New targets must start as tier three
[target tier policy][tier_policy] in the description. New targets must start as tier 3
- New targets should be assigned to the compiler team co-leads to check for any licensing
concerns
- Promoting a target
Expand All @@ -264,18 +266,18 @@ circumstance.
in the description
- New targets should be assigned to the compiler team co-leads to ensure that any demands on
the project infrastructure are considered and checked with relevant teams
- Renaming a target or making a breaking change to a tier three target
- Renaming a target or making a breaking change to a tier 3 target
- **Propose using:** PR
- **Approve using:** r+
- Open an PR with the proposed rename and describe the motivation for the change and obtain a r+
from the reviewer.
- Renaming a target or making a breaking change to a tier two target
- Renaming a target or making a breaking change to a tier 2 target
- **Propose using:** MCP
- **Approve using:** FCP
- Open an MCP describing the motivation for the change and start an FCP to approve, start an FCP.
- If approved, the change should be accompanied by a blog post announcing the change with a
notice period of at least one release before the change applies.
- Renaming a target or making a breaking change to a tier one target
- Renaming a target or making a breaking change to a tier 1 target
- **Propose using:** RFC
- **Approve using:** FCP
- Open an RFC describing the motivation for the change and start an FCP to approve, start an FCP.
Expand All @@ -286,7 +288,7 @@ circumstance.
- **Approve using:** FCP
- Write an MCP describing why the target should be demoted/removed and once discussion has
concluded, an FCP can be started to approve the demotion/removal.
- If approved and affecting a tier two or one target , the change should be accompanied by a
- If approved and affecting a tier 2 or one target, the change should be accompanied by a
blog post announcing the change with a notice period of at least one release before the change
applies.
- Changing target baseline (e.g. minimum Darwin or Windows version bump)
Expand Down
4 changes: 2 additions & 2 deletions src/infra/other-installation-methods.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ might one _not_ want to install using those instructions?

Rust's platform support is defined in [three tiers], which correspond closely
with the installation methods available: in general, the Rust project provides
binary builds for all tier 1 and tier 2 platforms, and they are all installable
via `rustup`. Some tier 2 platforms though have only the standard library
binary builds for all Tier 1 and Tier 2 platforms, and they are all installable
via `rustup`. Some Tier 2 platforms though have only the standard library
available, not the compiler itself; that is, they are cross-compilation targets
only; Rust code can run on those platforms, but they do not run the compiler
itself. Such targets can be installed with the `rustup target add` command.
Expand Down