rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
97.79k stars 12.66k forks source link

🎉 Rust 2021 celebration and thanks #88623

Closed m-ou-se closed 2 years ago

m-ou-se commented 3 years ago

The beta version of Rust 1.56 is about to branch off, which includes a stable rustc --edition=2021!

This means that, other than backports, all new development goes into 1.57, and the first version with a stable Rust 2021 is very likely going to be Rust 1.56 which will ship in a bit more than six weeks from now, on october 21st!

While the work isn't done, as more bugs will be found and many improvements will be made in future versions, this is a huge milestone and a big achievement for the entire Rust team!

Thanks everyone!

I'd especially like to thank:

For array.into_iter(): @LukasKalbertodt for implementing array::IntoIter and the array_into_iter lint and migration, @nikomatsakis for working out the idea on how to make this happen over an edition, @cuviper for implementing edition-dependent .into_iter() syntax, @est31 for updating relevant documentation, @mominul for updating the standard library code and examples. @carols10cents for updating the Rust Book. And the @rust-lang/lang, @rust-lang/compiler and @rust-lang/project-const-generics teams for making const generics happen, which made array::IntoIter a possibility in the first place.

For the new cargo resolver: the @rust-lang/cargo team in general, and specifically @ehuss for implementing all of this, for the automatic resolver-related changes reporting, and @ehuss and @weihanglo for improvements to the backwards-compatibility notices.

For the reserved prefixes: @bstrie for the RFC, and @joshtriplett, @nikomatsakis, the rest of @rust-lang/lang team, @programmerjake, and @ehuss, for valuable feedback on it. @Julian-Wollersberger for implementing the original k# idea, and @lrh2000 for implementing the final feature after much detailed discussion with @petrochenkov, @steffahn and @nikomatsakis. And @joshtriplett for expanding the documentation of this change.

For the disjoint closure captures: @samsartor for the original RFC. @oli-obk, @nikomatsakis, @eddyb, @Centril, @RalfJung, and the @rust-lang/lang team for discussing it. The @rust-lang/wg-rfc-2229 working group, and in particular @arora-aman for implementing the capture analysis, and improving the feature again and again, implementing the migration lint and improving it, and a huge amount of other related work, and making this happen as part of the edition. @roxelo for making lots of migration improvements and other fixes. And @null-sleep and @ChrisPardy for several very important improvements. @pnkfelix for reporting and fixing bugs. And @nikomatsakis for a huge amount of reviews and guidance.

For or-patterns: @Centril for the or-patterns RFC, @mark-i-m for implementing the edition specific changes, @hi-rustin for implementing the migration lint and @nikomatsakis for writing the initial mentoring instructions for that, and the @rust-lang/lang team, @digama0 and @mark-i-m for succesfully bikeshedding the name for :pat_param. @Aaron1011 for fixing an important bug when using :pat cross-crate and cross-edition, and @leonardo-m for discovering it.

For the new prelude: @djc for the RFC, and the @rust-lang/libs-api team for the discussion. @nikomatsakis for writing down the intial instructions for the migration lint, and @jam1garner for implementing the migration lint including tons of unexpected edge cases. And @rylev for fixing yet another edge case.

For the upgraded lints: @rylev for driving this effort and implementing it, and the @rust-lang/lang team, @Manishearth, @jyn514, @camelid, @Aloso, @nemo157, @RalfJung, @petrochenkov, @zackmdavis, @taiki-e, and @jhpratt for the discussions behind this.

For the panic formatting strings: @davidhewitt for the implicit formatting arguments rfc, @alexcrichton for raising the panic issue, @camelid for fixing hygiene in the core panicking macros and related clippy changes, and @petrochenkov for all the macro-related reviews and @estebank for all the diagnostics-related reviews. And apologies to @rust-lang/wg-const-eval for making it harder to stabilize const_panic because of these changes. ^^'

@rylev for cleaning up the lint names and @petrochenkov for reminding us to follow the lint name convention.

@ehuss for taking care of the edition guide. And @rylev, @roxelo, @joshtriplett and @ehuss for making significant additions to the edition guide.

@ehuss for handling the crater run after making a custom cargo version to make that possible, and for processing all the crater results and filing detailed issues for all bugs found.

@jonas-schievink for adding the features to rust-analyzer.

@pietroalbini for fixing rustfix to handle multi-part suggestions.

@ehuss for all necessary improvements to cargo fix --edition. @rylev for implementing --force-warn and improving it, @cjgillot for making that a lint level and @inquisitivecrystal for stabilizing and documenting that.

@HTG-YT for switching the 'stable' boolean to true

The @rust-lang/compiler team and @rust-lang/compiler-contributors for a ton of reviews, and especially @estebank for an enormous amount of reviews on new lints and their improvements.

@rylev for handling the lint grouping and improving the diagnostic messages.

@nikomatsakis for co-leading the edition working group with me, and all his work on planning, detailed note taking, organisation, and pushing things forward. @rylev for being part of this group and all the discussion and planning. @ehuss for tons of useful feedback and making sure nothing gets forgotten. And @Mark-Simulacrum for advice and useful input on planning and the release decision.

Daphne Matsakis and @nikomatsakis for making a song about the edition.

Everyone who provided input and worked on the proposed features that did not make it for this edition.

The entire Rust team for everything you're all doing and making this a wonderful project to work on.

And finally, the entire Rust community for input, testing the edition, using Rust, and your patience and excitement that keeps motivating us.

Thanks everyone. 💛


(Please DM me on Zulip with everything and everyone I've forgotten, so I can add it. ^^)

Aloso commented 3 years ago

Thank you, @m-ou-se for your effort and dedication!

joshtriplett commented 3 years ago

Echoing that: @m-ou-se, you definitely deserve huge thanks for the edition as well, for coordination, for picking up slack in many areas, for keeping an eye on timing, for chasing down FCPs and making sure changes get in on time, and for paying attention to quality. Thanks, Mara! And thank you for taking the time to compile this gratitude-filled post.

Teln0 commented 3 years ago

Yay !

Eh2406 commented 3 years ago

It very much seems like @ehuss got thanked in (almost) all of the line items. So thank you @ehuss for all the ways you keep things working and on track!

gdf8gdn8 commented 3 years ago

"lang_items" still missing. For embedded programming is this features necessary.

bjorn3 commented 3 years ago

@gdf8gdn8 Lang items are internal implementation details and will never be stabilized. If embedded needs anything, that will need to have a separate feature designed and implemented for it. For example insteqd of stabilizing the various panic lang items, #[panic_handler] was implemented and stabilized.

By the way this is offtopic for this issue. I think internals.rust-lang.org would be the best place to continue discussion.

simonsan commented 3 years ago

Great job! <3

omac777 commented 3 years ago

I also love the nightly releases. The rust team are super-heroes! Thank you for everything you do for making software safer to use.

ALiwoto commented 3 years ago

Really nice

doc-jones commented 3 years ago

Congratulations to the team and thank you @m-ou-se for this excellent post and your leadership in delivering this release.

I feel compelled to issue a special thank you to @nikomatsakis and his daughter for this related ear worm. :) Edition!

There should be a Rust Bylaw that all future utterances of Rust editions must be sung.

mustafakibar commented 3 years ago

Wow amazing!!

guscastles commented 3 years ago

Well done to all. Keep it up!

boehs commented 3 years ago

Thank you to the rust team for making the closest programming language to perfection yet

Geobert commented 3 years ago

This post is just amazing! Thanks @m-ou-se for taking the time to write it!

Madoshakalaka commented 3 years ago

Yay!

ajosecueto commented 3 years ago

Great job!

fzyzcjy commented 3 years ago

Congratulations and looking forward to the release!

russells-crockpot commented 3 years ago

You are all heros!