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.

Updates from Rust Community

Official

Newsletters

Project/Tooling Updates

Observations/Thoughts

Rust Walkthroughs

Miscellaneous

Crate of the Week

This week's crate is noline, a small no-std compatible readline-like line editor.

A lack of suggestions notwithstanding, llogiq is pretty pleased with his choice.

Please submit your suggestions and votes for next week!

Call for Participation

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.

Boa

If you are a Rust project owner and are looking for contributors, please submit tasks here.

Updates from the Rust Project

302 pull requests were merged in the last week

Rust Compiler Performance Triage

Largely a quiet week. The perf improvement highlight is the use of real world crates such as syn, cargo, and serde in the collecting of profile guided optimization (PGO) profiles. Previously only libcore was used. This led to some decent improvement in compilation of real world crates (upwards of 5.5%).

On the regression side, the regressions were all largely small but contained inside of rollups making them hard to diagnose and correct. The perf team continues to work on process improvements that make changes to the compiler land through CI quickly while minimizing perf regressions that can sneak through.

Triage done by @rylev. Revision range: 10dccdc..3ba1eb

2 Regressions, 3 Improvements, 3 Mixed; 3 of them in rollups 42 comparisons made in total

Full report here

Approved RFCs

Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:

Final Comment Period

Every week the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.

RFCs

  • No RFCs entered Final Comment Period this week.

Tracking Issues & PRs

New and Updated RFCs

Upcoming Events

Rusty Events between 2022-03-16 - 2022-04-13 🦀

Virtual

Europe

North America

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.

Rust Jobs

Juspay

Komodo

Stockly

Kollider

Tempus Ex

Tweet us at @ThisWeekInRust to get your job offers listed here!

Quote of the Week

protip: the rust extern keyword has a --help flag

``text error[E0703]: invalid ABI: found--help` --> ext.rs:1:8 | 1 | extern "--help" {} fn main() {} | ^^^^^^^^ invalid ABI | = help: valid ABIs: Rust, C, C-unwind, cdecl, stdcall, stdcall-unwind, fastcall, vectorcall, thiscall, thiscall-unwind, aapcs, win64, sysv64, ptx-kernel, msp430-interrupt, x86-interrupt, amdgpu-kernel, efiapi, avr-interrupt, avr-non-blocking-interrupt, C-cmse-nonsecure-call, wasm, system, system-unwind, rust-intrinsic, rust-call, platform-intrinsic, unadjusted

error: aborting due to previous error

For more information about this error, try rustc --explain E0703. ```

Aria the Cat (with some help from rustc) on twitter

Thanks to Jacob Pratt for the suggestion!

Please submit quotes and vote for next week!

This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin.

Email list hosting is sponsored by The Rust Foundation

Discuss on r/rust