Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. 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
News & Blog Posts
- 🎈🎉 Announcing Rust 1.34.0. 🎉🎈
- ripgrep 11 released.
- Introducing Runtime, a platform-agnostic library that intends to make Async Rust both flexible and easy.
- A love letter to Rust macros.
- Rust: beyond the typechecker.
- Face detection with Actix web.
- Compiler team needs more than coders.
- for await loops (Part I).
- Keeping Rust projects' README.md code examples up-to-date.
- Making an iterator from a function.
- cargo-call-stack, part 2: getting call graph information from rustc.
- Web development with Rust — 03/x: Create a REST API.
- Building a pub/sub server with Sonr.
Crate of the Week
This week's crate is sendfd, a simple way to send file descriptors over UNIX sockets. Thanks to Léo Gaspard for the suggestion!
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.
- The CFP for Colorado Gold Rust is open now. The organizers are also looking for volunteers to help people draft talk proposals. If you can help out send them an email or DM them on Twitter at @COGoldRust.
- [discussion] tetra: Is the OpenGL layer safe? Tetra is a simple 2D game framework written in Rust.
- [easy] ruma-api-macros: Look into removing trait import names in generated code.
- [medium] ruma-api-macros: Properly handle all possible run time panics.
- [hard] ruma-api-macros: Figure out how to remove uses of Tokens::append_all.
- org-rs: Implement parse_objects function.
- org-rs: Implement affiliated keywords.
- [easy] futures-jsonrpc: Test coverage.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
241 pull requests were merged in the last week
- save-analysis: Pull associated type definition using
qpath_def
- Recover from missing semicolon based on the found token
- Increase
Span
from 4 bytes to 8 bytes - proc_macro: Stop using LEB128 for RPC
- Remove duplicated redundant spans
- Mark variables captured by reference as mutable correctly
- Suggest removing
?
to resolve type errors - Make duplicate matcher bindings a hard error
- Improvement for comparision against fn
- Suggest importing macros from the crate root
- Function arguments should never get promoted
- miri: Implement non-deterministc mode
- miri: Unsized locals and by-value dyn traits
- std: Add {
read
,write
}_vectored
for more types MaybeUninit
: Remove deprecated functions- Stabilize the
alloc
crate - Improve warning in
cargo new
with parse error - rustup.rs: Less copying during dist installation
- rustup.rs: Shell completions for Cargo
- Add --path option to 'rustup override set'
- clippy: suggest .copied() instead of .cloned() in map_clone lint
Approved RFCs
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.
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
- [disposition: postpone] Simplify visibility grammar.
Tracking Issues & PRs
- [disposition: merge] [Stabilization] Future APIs.
- [disposition: merge] Enable NLL migrate mode on the 2015 edition.
- [disposition: merge] Tracking issue for vectored IO support.
New RFCs
Upcoming Events
Africa
Asia Pacific
- Apr 20. Beijing, CN - RustCon Asia.
- Apr 20. Taipei, TW - Rust Taiwan Meetup.
- Apr 24. Tokyo, JP - Tokyo Rust Meetup.
Europe
- Apr 25. Toulouse, FR - Mon premier service web en Rust.
- Apr 25. Paris, FR - Rust Paris meetup #44.
- Apr 25. Brno, CZ - Rust Brno meetup.
- Apr 26. Stuttgart, DE - Rust Meetup #2
- Apr 26. Berlin, DE - Oxidize Berlin Conference.
- Apr 30. London, UK - Rust London User Group - LDN Talks.
- Apr 30. Vienna, AT - Rust Meetup.
- May 1. Berlin, DE - Berlin Rust Hack and Learn.
- May 2. Munich, DE - Rust Munich - Rust libp2p.
North America
- Apr 22. Durham, US - Triangle Rustaceans.
- Apr 23. Chicago, US - Chicago Rust Meetup - Discussion: Better Method Chaining in Rust.
- Apr 24. Sacramento, US - Hands-on Rust.
- Apr 24. Ann Arbor, US - Ann Arbor Rust Meetup - Monthly Gathering.
- Apr 24. Boston, US - Boston Rust Meetup at VMWare.
- Apr 25. San Francisco, US - WebAssembly SF - Let's talk about Rust and a microkernel @ Cloudflare.
- Apr 30. Dallas, US - Dallas Rust - Last Tuesday.
- May 1. Vancouver, CA - Vancouver Rust meetup.
- May 1. Atlanta, US - Grab a beer with fellow Rustaceans.
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
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
No quote was selected for QotW.
Please submit your quotes for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.