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
- Moving from Ruby to Rust.
- Rust lifetime visualization ideas.
- Generators II: The question mark problem.
- A list of itch.io games written in Rust.
- Cross-compiling Rust code to Minix.
- One hundred Rust PRs later.
- This week in Rust and WebAssembly 10.
Crate of the Week
This week's crate is num-format, a crate to format numbers to international standards. Thanks to Vikrant 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.
- RustFest is searching for local teams to apply for the next events.
- The CLI-WG wants to help other CLI maintainers to write good first issues for contributions.
- TiKV: Figure out how to add a second "release" profile for "dev+optimized" builds.
- TiKV: Consolidate rocksdb imports into one module for engine abstraction.
- TiKV: Avoid unnecessary clone of unstable raft log.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
247 pull requests were merged in the last week
- Implement incremental "fat" LTO
- Enable comparing fat pointers
impl iter() for dyn Error
- Improve the error messages for missing stability attributes
- Cut down on number formating code size
- Reduce the size of
hir::Expr
- Make
saturating_add
andsaturating_sub
const
functions - Stabilize
slice_sort_by_cached_key
- Stabilize
str::escape_*
methods with new return types - Stabilize the
time_checked_add
feature - Update the future/task API
- Speed up the fast path for
assert_eq!
andassert_ne!
- cargo: Stabilize Alternative Registries
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
- [disposition: merge] #[link(kind="raw-dylib")].
- [disposition: merge] Associated type defaults.
Tracking Issues & PRs
- [disposition: merge] Relax some Ord bounds on BinaryHeap
. - [disposition: merge] Relax some Hash bounds on HashMap
and HashSet . - [disposition: merge] Stabilize TryFrom and TryInto with a convert::Infallible empty enum.
- [disposition: merge] Clarify guarantees for
Box
allocation. - [disposition: merge] dbg!() without parameters.
New RFCs
No new RFCs were proposed this week.
Upcoming Events
Online
Africa
Europe
- Feb 28. Copenhagen, DK - Copenhagen Rust Hack Night #0xC.
- Feb 28. Torino, IT - Rust Turin Meetup.
- Feb 28. Wroclaw, PL - Rust Wroclaw Meetup.
- Mar 6. Berlin, DE - Berlin Rust Hack and Learn.
North America
- Feb 21. San Diego, US - San Diego Rust.
- Feb 21. Arlington, US - Rust DC—Learn+Try: Custom Redis Datastructures.
- Feb 25. Durham, US - Triangle Rustaceans.
- Feb 26. Irvine, US - Orange County Rust.
- Feb 26. Stanford, US - [@ Stanford] Barriers to Learning Rust, Wasmer.
- Feb 27. Ann Arbor, US - Ann Arbor Rust Meetup.
- Feb 27. Mesa, US - Phoenix Rust: Embedded Devices.
- Mar 6. Indianapolis, US - Indy.rs.
- Mar 6. Atlanta, US - Rust Atlanta Meetup.
- Mar 6. Vancouver, CA - Vancouver Rust meetup.
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
- Rust Software Consultant at Knoldus, Noida, IN.
- Software Developer at Finhaven, Vancouver, CA.
- Software Engineer at Discord, San Francisco, US.
- Network Engineer at NearProtocol, San Francisco, US.
- Navitia Software Engineer at Kisio Digital, Paris, FR.
- Rust web developer at Impero, Denmark/remote.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
… the experience I had in 2019 was dramatically better than the first time I touched the language. After a month I’m feeling very comfortable, and looking forward to writing more.
Ryan Ragona, Learning Rust in 2019
Thanks to Jules Kerssemakers for the suggestion!
Please submit your quotes for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.