Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. 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.
This week's crate is cargo-crev, a tool to distribute security review of the crates we all depend on.
As there was no suggestion this week, llogiq is pretty thankful to himself for choosing this crate.
Please submit your suggestions and votes for next week!
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.
From<char for Str353 pull requests were merged in the last week
split_array and split_array_mutRevealAll before optimizations.f{32, 64} in DebugIPv4 addressesBarrier::wait()unix_process_wait_more, extra ExitStatusExt methodssaturating_div for rust 1.58.0Zip specialization implpanic_fmtmacro_rules nameCString::from_vec_with_nul(_unchecked)!Send impl Future from foreign cratefor loop iter expression as desugaredDuration::(try_)from_secs_{f32, f64} underflow errorFrom impls of NonZero integer constFrom impls const (libcore)array, slice}::{from_ref, from_mut} as const fnVecDeque::with_capacity_in()Vec::swap_removeRSplit<T, P>: Clone not require T: Clonerepr attributeResult for question_markuseless_format recognize format!("")eq_op in test codemissing_safety_doc lintsignum method call for cast_possible_truncation lintmissing_safety_doc: handle 'implementation safety' headers as wellmatch_str_case_mismatch on uncased charsMultiple regressions this week, several of which were in rollups, without much to balance them out on the improvements front.
Triage done by @simulacrum. Revision range: d45ed7..3c8f001d
5 Regressions, 4 Improvements, 3 Mixed; 3 of them in rollups; 35 comparisons made in total
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.
Every week the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
std::env::temp_dir to use GetTempPath2 on Windows when available.const_raw_ptr_deref for *const TInstant::nowTermination for Result<Infallible, E>redundant_field_names to compilerwhere Self: 'aFile::options()option_result_unwrap_uncheckeddestructuring_assignmentslice_concat_ext stabilizationIf 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.
Snapview
Quickwit
Seaplane
Little Bear Labs
Kraken
Subspace Labs
Tweet us at @ThisWeekInRust to get your job offers listed here!
I think in general "force the user to think about the extra cases, and be explicit about ignoring them" is definitely idiomatic rust.
– Daniel Wagner Hall on rust-internals
Thanks to robin for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, and cdmistman.