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.
Updates from Rust Community
News & Blog Posts
- 🎈🎉 Announcing Rust 1.42.0. 🎉🎈
- ripgrep 12 is released.
- Rewriting the heart of our sync engine at Dropbox.
- docs.rs now allows you to choose your build targets.
- Redox OS - pkgar introduction.
- Reducing the size of
Option<T>by adding members to
- Out of the box dynamic dispatch.
- Optimizations that aren't, or are they?
- Rust All Hands retrospective.
- Guide on how to write documentation for a Rust crate.
- A C# programmer examines Rust - Part 2.
- Traits, dynamic dispatch and upcasting.
- References in Rust.
- Parsing library in Rust pt. 2 - test utilities.
- Loading datasets from CSV into NDArray.
- Announcing Rust Search Extension v0.8.
- Async interview 7: withoutboats.
- rust-analyzer changelog 16.
- IntelliJ Rust changelog 118.
- Postponing RustFest Netherlands.
- Rust Latam 2020 (Mexico) is cancelled.
Crate of the Week
This week's crates is beef, an alternative memory-compact Clone on Write (CoW) implementation.
Thanks to Vlad Frolov for the suggestion!
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.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
309 pull requests were merged in the last week
DIBuilderCreateEnumeratorsignature to match LLVM 9
- add support for LLVM globals corresponding to miri allocations should be named
- emit 1-based column numbers in debuginfo
- improve expression & attribute parsing
- resolve: fix two issues in fresh binding disambiguation
- don't store locals in generators that are immediately overwritten with the resume argument
PlaceReftake just one lifetime
TypeRelatingfor instantiating query responses
- perf: reuse a
Vecin mir simplification
- exhaustiveness checking,
Matrix::push: recursively expand or-patterns
- miri: use a session variable instead of checking for an env var always
panic_bounds_check: use caller_location, like
- check if output is immediate value
- fix memory leak when
vec::IntoIterpanics during drop
catch_unwindto match C++ try/catch
- allow zero-sized types in
uninit: panic on types that do not permit zero-initialization
- add undo_leak to reset
- stabilize const for
- hashbrown: optimize
- futures: use
- cargo: avoid buffering large amounts of rustc output
- cargo: clippy integration changes
- cargo: add "Updating" status for git submodules
- docs.rs: allow crates to opt-in to building a single target
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.
No RFCs are currently in final comment period.
- [disposition: merge] Allow obtaining &mut OsStr.
- [disposition: merge]
is_x86_feature_detected!("avx512f")fails to build on beta and nightly.
- [disposition: merge] impl From<[T; N]> for Vec
- [disposition: merge] Amend Rc/Arc::from_raw() docs regarding unsafety.
- Mar 20. Berlin, DE - Oxidize 1K: A Remote Conference.
- Mar 25. Portland, OR, US - PDXRust - Lightning Talks - Remote Event.
- Mar 23. Durham, NC, US - Triangle Rustaceans - Online gathering.
- Mar 26. Edinburgh, GB - Rust Edinburgh - Rust Meetup Short Talk Night.
- Apr 2. Stockholm, SE - Stockholm Rust Meetup.
- Apr 2. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
- Mar 25. Houston, TX, US - Houston Linux Users Group - Rust Study Group.
- Mar 25. Ann Arbor, MI, US - Ann Arbor Rust Meetup - Monthly Gathering.
- Mar 31. Dallas, TX, US - Dallas Rust - Last Tuesday.
- Apr 1. Indianapolis, IN, US - Indy.rs - WebAssembly 101.
- Apr 8. Atlanta, GA, US - Rust Atlanta - Grab a beer with fellow Rustaceans.
- Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.42].
- Software Engineer at Apple, AB, CA.
- Software Engineer at Apple, Seattle, WA, US.
- Backend Engineer, Rust at LayerTwo, London, UK.
- Junior Backend Engineer, Rust at LayerTwo, London, UK.
- Senior Software Engineer - Rust at Ockam, Remote.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
I thought up a clever qotw bait one liner to stick in here that prompted me to actually write it then forgot it while writing the post in favor of being genuine... whoops
Thanks to Jules Kerssemakers for the suggestions!