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
- Rust case study: Community makes Rust an easy choice for npm.
- Combine results for improved Rust validation logic.
- Rust now runs on the new Cortex-M33 based Nordic nRF9160 LTE SiP.
- Scientific computing: a Rust adventure - part 0 - vectors.
- HTML code coverage reports for Rust.
- Blockchain in Rust - a video series.
- Changes in the core team.
- Rust lang team working groups.
- This week in Rust and WebAssembly 11.
- The embedded WG newsletter 15.
Crate of the Week
This week's crate is shellfn, a proc macro to easily and safely use shell scripts in Rust. Thanks to Willi Kappler 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.
- RustConf CfP is now open.
- RustFest is searching for local teams to apply for the next events.
- Rust: Add LLVM atomic memcpy intrinsics, expose in core/std.
- TiKV: support ALLOW_INVALID_DATES in coprocessor.
- TiKV: Use breakpad + symbolic to generate and interpret minidump-format core dumps.
- TiKV: Make git dependency revisions explicit in Cargo.toml.
- LSD: Looking for maintainers.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
245 pull requests were merged in the last week
- Add an unstable option to build proc macros for both the host and the target
- Avoid ICE when region sneaks into impl trait
- Add const generics to the HIR
- Improve parsing diagnostic for negative supertrait bounds
- Optimise
vec![false; N]
to zero-alloc - Add expected/provided byte alignments to validation error message
- Remove
LazyTokenStream
- Add better error message for partial move
- Suggest removing parentheses surrounding lifetimes
- Use normal mutable borrows in matches
- Monomorphize less code in
fs::
{read
,write
} - Make overflowing and wrapping negation const
- Fix overlapping references in BTree
- Relax some Ord bounds on BinaryHeap
- Relax some Hash bounds on HashMap
and HashSet - Turn duration consts into associated consts
RangeInclusive
internal iteration performance improvement- Override
VecDeque::try_rfold
, also update iterator - Stabilize
TryFrom
andTryInto
with aconvert::Infallible
empty enum - Stabilize
iter::successors
anditer::from_fn
- Destabilize fixed-width const defined atomic integers
- Deprecate the unstable
Vec::resize_default
- Modify doctest's auto-
fn main()
to allowResult
s - crates.io: Stop logging the referer header
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 are currently in final comment period.
Tracking Issues & PRs
- [disposition: merge] Cosmetic changes to compiler comments and docs.
- [disposition: merge] Relax Read bounds on a bunch of BufReader
methods . - [disposition: merge] Tracking issue for Option::xor.
- [disposition: merge] Tracking issue for RFC 2043: Add
align_offset
intrinsic (formerly: and[T]::align_to
function). - [disposition: merge] Tracking issue for RefCell::{replace, swap}.
- [disposition: merge] Tracking issue for Vec::remove_item.
New RFCs
- Add scoped threads to the standard library.
- Add more examples for | patterns in let in RFC 2175.
- Transparent Unions.
- Simplify visibility grammar.
Upcoming Events
Online
Africa
Asia Pacific
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 3. St. Petersburg, RU - St. Petersburg Rust Meetup.
- Mar 6. Berlin, DE - Berlin Rust Hack and Learn.
- Mar 14. Brno, CZ - Rust Brno Meetup at Masaryk University
North America
- Mar 6. Indianapolis, US - Indy.rs.
- Mar 6. Atlanta, US - Rust Atlanta Meetup.
- Mar 6. Vancouver, CA - Vancouver Rust meetup.
- Mar 11. Seattle, US - Seattle 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
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Sadly, no quotes were nominated this week.
Please submit your quotes for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.