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 Str
353 pull requests were merged in the last week
split_array
and split_array_mut
RevealAll
before optimizations.f
{32
, 64
} in Debug
IPv4
addressesBarrier::wait()
unix_process_wait_more
, extra ExitStatusExt
methodssaturating_div
for rust 1.58.0Zip
specialization implpanic_fmt
macro_rules name
CString::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 fn
VecDeque::with_capacity_in()
Vec::swap_remove
RSplit<T, P>: Clone
not require T: Clone
repr
attributeResult
for question_mark
useless_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 T
Instant::now
Termination
for Result<Infallible, E>
redundant_field_names
to compilerwhere Self: 'a
File::options()
option_result_unwrap_unchecked
destructuring_assignment
slice_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.