Skip to content
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

2024 Edition #3501

Merged
merged 5 commits into from Oct 27, 2023
Merged

2024 Edition #3501

merged 5 commits into from Oct 27, 2023

Conversation

ehuss
Copy link
Contributor

@ehuss ehuss commented Sep 26, 2023

This RFC is an amendment to RFC 3085 to declare that the Rust Project intends to produce a new edition in 2024, to set up a project group to deliver the edition, and to establish a tentative cadence for future editions.

Rendered

@ehuss ehuss added the T-leadership-council Relevant to the Leadership Council, which will review and decide on this RFC. label Sep 26, 2023
@joshtriplett
Copy link
Member

An alternative worth evaluating: rather than considering delaying an edition by a year, we could commit to a three year cadence and just skip an edition if there are no incompatible changes to ship.

@jhpratt
Copy link
Member

jhpratt commented Sep 27, 2023

^^ that would be my preferred solution as well.

@Lokathor
Copy link
Contributor

Yeah if an edition name ever doesn't fit the format "2015 + 3*N" then we've really messed up. It's very clear that way, absolutely no reason to mix it up. People should be able to list all the editions in their sleep.

@nikomatsakis
Copy link
Contributor

I am in favor of the 3-year cadence. If we slip at some point, we'll figure it out then, but my personal take is that editions should ship, and if we have to cut scope, we cut scope to make that happen. I think it's really important to make progress.

I also think we should work out processes to be constantly developing the next edition as we go, we talk about this every year, but I don't think we need an RFC to make that happen. (I favor the idea of --edition=2027 or whatever in the compiler being something you can do on nightly right away.)

@nikomatsakis
Copy link
Contributor

As for the question of what to do if we have no changes... I think we probably skip but I feel like that's a conversation we can have at the time.

@clarfonthey
Copy link
Contributor

One small note on skipping editions: I think that edition numbers should still be valid for skipped editions, just fall back to the previous edition. For example, if the 2024 edition is a bust and we add nothing, it should be valid to refer to the 2024 edition, just, it should be treated as an alias for the 2021 edition and maybe throw a warning.

@jhpratt
Copy link
Member

jhpratt commented Sep 29, 2023

How would that be any different than an empty edition?

Some people have expressed different thoughts on how this scenario
should be addressed. However, it seems like it will be a very
situational event, and trying to predict exactly what we should do seems
over-prescriptive. The RFC leaves the decision up to the Leadership
Council who is expected to take the different circumstances and desires
into consideration.
@ehuss
Copy link
Contributor Author

ehuss commented Sep 30, 2023

Thanks for the feedback! I made some small adjustments to the text around the "skipping an edition". It seems like it will be a very situational event, and trying to predict exactly what we should do seems over-prescriptive to me. I also don't expect it to happen in this edition, or even the next, and trying to predict the circumstances in 9+ years seems very difficult to do. I adjusted the RFC to clearly leave the decision up to the Leadership Council who is expected to take the different circumstances and desires into consideration.

I hope that accommodates what people have been saying. We could force a specific option (like "release with whatever is ready, even if it is empty"), but I strongly suspect that it will be highly situational and I would like to give some flexibility to adapt to the circumstances.

text/3501-edition-2024.md Outdated Show resolved Hide resolved
text/3501-edition-2024.md Show resolved Hide resolved
text/3501-edition-2024.md Outdated Show resolved Hide resolved
bors added a commit to rust-lang/cargo that referenced this pull request Oct 4, 2023
feat: Add `Edition2024`

[RFC for `Edition2024`](rust-lang/rfcs#3501).  While the RFC is not yet merged, this follows rustc which added the 2024 edition previously in rust-lang/rust#94461

This PR adds `Edition2024` as a possible value for `edition = "xxxx"`. I did this by following the [guide here](https://github.com/rust-lang/cargo/blob/ed0a7873107f48079a424da2920f7d434fd22fdc/src/cargo/core/features.rs#L163-L174).
@Mark-Simulacrum
Copy link
Member

I'm going to kick off FCP for the leadership council as we've had a few weeks of comments here and I think we can start collecting checkboxes.

@rfcbot pr merge

@rfcbot
Copy link
Collaborator

rfcbot commented Oct 7, 2023

Team member @Mark-Simulacrum 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!

See this document for info about what commands tagged team members can give me.

@rfcbot rfcbot added proposed-final-comment-period Currently awaiting signoff of all team members in order to enter the final comment period. disposition-merge This RFC is in PFCP or FCP with a disposition to merge it. labels Oct 7, 2023
@gorentbarak
Copy link

I think there could also be a working group for writing the new Rust book, and documenting Rust 2024 edition. Also, when is Rust 2024 Edition intended to be released? I mean, probably sometime in 2024, but in what time-frame. For Rust 2021 it was October, so would the 2024 edition also be around that time frame?

Copy link

@gorentbarak gorentbarak left a comment

Choose a reason for hiding this comment

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

I think a release (new edition) every two years would be good.

@ehuss
Copy link
Contributor Author

ehuss commented Oct 8, 2023

The exact release date has not yet been determined, but sometime in 2024.

@gorentbarak
Copy link

The exact release date has not yet been determined, but sometime in 2024.

Okay, thank you for the clarification.

@jonathanpallant
Copy link

Apologies for the delay. If you can, please @ thejpster if you @ this account, as my notifications are a mess.

@rfcbot rfcbot added the final-comment-period Will be merged/postponed/closed in ~10 calendar days unless new substational objections are raised. label Oct 16, 2023
@rfcbot rfcbot removed the proposed-final-comment-period Currently awaiting signoff of all team members in order to enter the final comment period. label Oct 16, 2023
@rfcbot
Copy link
Collaborator

rfcbot commented Oct 16, 2023

🔔 This is now entering its final comment period, as per the review above. 🔔

@gorentbarak
Copy link

Apologies for the delay. If you can, please @ thejpster if you @ this account, as my notifications are a mess.

@jonathanpallant I feel bad for your email inbox.

@rfcbot rfcbot added finished-final-comment-period The final comment period is finished for this RFC. to-announce and removed final-comment-period Will be merged/postponed/closed in ~10 calendar days unless new substational objections are raised. labels Oct 26, 2023
@rfcbot
Copy link
Collaborator

rfcbot commented Oct 26, 2023

The final comment period, with a disposition to merge, as per the review above, is now complete.

As the automated representative of the governance process, I would like to thank the author for their work and everyone else who contributed.

This will be merged soon.

@ehuss ehuss merged commit 4a530c5 into rust-lang:master Oct 27, 2023
@ehuss
Copy link
Contributor Author

ehuss commented Oct 27, 2023

Huzzah! The Leadership Council has decided to accept this RFC.

To track further discussion, subscribe to the tracking issue here:
rust-lang/rust#117258

@gorentbarak
Copy link

this is exciting!

@ehuss ehuss added the A-edition-2024 Area: The 2024 edition label Nov 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-edition-2024 Area: The 2024 edition disposition-merge This RFC is in PFCP or FCP with a disposition to merge it. finished-final-comment-period The final comment period is finished for this RFC. T-leadership-council Relevant to the Leadership Council, which will review and decide on this RFC. to-announce
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants