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.41.1.
- A half-hour to learn Rust.
- Recent and future pattern matching improvements.
- Cheap tricks for high-performance Rust.
- Understanding String and &str in Rust.
- caniuse.rs - Rust feature search.
- Async/await on embedded Rust.
- Audit of the RustCrypto
chacha20poly1305crates by NCC group.
- FFI patterns #1 - Complex Rust data structures exposed seamlessly to C++.
- Multidimensional arrays and operations with NDArray.
- A look into ways to implement and share data with interrupt handlers in Rust.
- Pietro Albini has joined the core team.
- Announcing the first FFI-unwind project design meeting.
- Writing an OS in Rust: Updates in February 2020.
- rust-analyzer Changelog 14.
- IntelliJ Rust Changelog 117.
- This month in rustsim 9.
- Rust in Blockchain newsletter 9: The month of working from home.
- Tokio v0.2.12, includes
Notify, an async/await synchronization primitive, and
StreamMapfor dynamic merging of streams.
Crate of the Week
This week's crates is tokenizers, a Rust crate with python & nodejs bindings for fast text tokenization for machine learning.
llogiq (who singlehandedly selected the crate) is pretty self-congratulatory.
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 RustConf 2020 CFP is now open. We'd love to hear from you at RustConf!
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
304 pull requests were merged in the last week
- implement Associated Type Defaults (RFC #2532)
bugwhen taking discriminant of generator during dataflow
- perf: buffer stderr when writing json errors/warnings
- mark attributes consumed by
- stash API: remove panic to fix ICE
- chalk: changes needed to build in rustc
- adjust Miri value visitor, and doc-comment layout components
- miri: let machine canonicalize AllocIDs
- fail on multiple declarations of
- don't instantiate so many copies of
- mark other variants as uninitialized after switch on discriminant
Dropterminators for enum variants without drop glue
- audit liballoc for leaks in
Dropimpls when user destructor panics
- add primitive module to libcore
- relax str::get_unchecked precondition to permit empty slicing
- fix aliasing violation in
- add methods to 'leak' RefCell borrows as references with the lifetime of the original reference
BTreeMapnavigation done safer & faster
- constify mem::forget
- crates.io: enable sorting crates by most recently added
- rustlings: add clippy lints
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.
- [disposition: merge] Cargo report future-incompat.
- [disposition: merge] Add llvm_asm! and deprecate asm!.
- [disposition: merge] Permit attributes on 'if' expressions.
- [disposition: merge] mem::zeroed/uninit: panic on types that do not permit zero-initialization.
- Mar 9. Karlsruhe, DE - Rust Meetup
- Mar 11. Oslo, NO - Rust Oslo - Lightning talks.
- Mar 12. Turin, IT - Mozilla Torino - Gruppo di studio Rust alla Torino hacknight.
- Mar 19. Warsaw, PL - Rust Warsaw 4.
- Mar 19. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
- Mar 10. Denver, CO, US - Rust Boulder/Denver - March Meetup.
- Mar 10. Redmond, WA, US - Seattle Rust Meetup - Monthly meetup in Redmond.
- Mar 11. Atlanta, GA, US - Rust Atlanta - Grab a beer with fellow Rustaceans.
- Mar 11. Houston, TX, US - Houston Linux Users Group - Rust Study Group.
- Mar 11. Portland, OR, US - PDXRust - Rust Lightning Talks! By You.
- Mar 12. Columbus, OH, US - Columbus Rust Society - Monthly Meeting.
- Mar 12. Lehi, UT, US - Utah Rust - The Blue Pill: Rust on Microcontrollers.
- Mar 12. San Diego, CA, US - San Diego Rust - March Meetup.
- Mar 18. Vancouver, BC, CA - Vancouver Rust - Rust Study/Hack/Hang-out night.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Hi, fellow Crustaceans! I am a newbie of Rust programming language. A nauplius.
Thanks to Tom Phinney for the suggestions!