Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.
This week's crate is miette, a library for error handling that is beautiful both in code and output.
Thanks to Kat Marchán for the self-suggestion!
Please submit your suggestions and votes for next week!
Always wanted to contribute to open-source projects but didn't know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
265 pull requests were merged in the last week
macro_rules! name!
#[must_not_suspend]
#[track_caller]
on closures and generators#[track_caller]
actually do stuff in Steal::borrow
PrettyPrinter
in Ok
path of compilerscoped_thread
Iterator::map_while
fmt
unsafetycargo fmt --all
float_cmp
to pedanticif_then_panic
excessive_precision
from suggesting a float truncation that is not shortersuspicious_else_formatting
inside proc-macrosThe largest story for the week are the massive improvements that come from enabling the new pass manager in LLVM which leads to consistent 5% to 30% improvements across almost all test cases. The regressions were mostly minor with clear paths for addressing the ones that were not made with some specific trade off in mind.
Triage done by @rylev. Revision range: 7743c9..83f147
4 Regressions, 4 Improvements, 3 Mixed; 0 of them in rollups
43 comparisons made in total
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Every week the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
No RFCs are currently in the final comment period.
Vec::leak
proc_macro::is_available()
alloc::prelude
No new RFCs were proposed this week.
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Enso
Stockly
Timescale
ChainSafe
Kraken
Tweet us at @ThisWeekInRust to get your job offers listed here!
This week we have two great quotes!
The signature of your function is your contract with not only the compiler, but also users of your function.
Do you want to know what was harder than learning lifetimes? Learning the same lessons through twenty years of making preventable mistakes.
– Zac Burns in his RustConf talk
Thanks to Daniel H-M and Erik Zivkovic for the suggestions!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, and cdmistman.