Warning
This post was published 65 days ago. The information described in this article may have changed.
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? Tag us at @ThisWeekInRust on X(formerly Twitter) or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Want TWIR in your inbox? Subscribe here.
bon
craterepr(C)
: Clear, Simple and (Sometimes) WrongThis week's crates are static-keys, a nightly-only mechanism to speed up checks of rarely changed features and bon, yet another crate to autogenerate builders from functions, methods and structs.
Thanks to EvianZhang and Veetaha for the suggestions!
Please submit your suggestions and votes for next week!
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing
label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature
need testing.
Always wanted to contribute to open-source projects but did not 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.
QueryRequest
from GreptimeRequest
If you are a Rust project owner and are looking for contributors, please submit tasks here or through a PR to TWiR or by reaching out on X (Formerly twitter) or Mastodon!
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
No Calls for papers or presentations were submitted this week.
If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a PR to TWiR or by reaching out on X (Formerly twitter) or Mastodon!
434 pull requests were merged in the last week
#[naked]
: report incompatible attributes#[naked]
: use an allowlist for allowed options on asm!
in naked functionsselect_unpredictable
to force LLVM to use CMOVresult
during finish()
in debug buildersdebug_assert
in codegentrait_object_ty
in cfiPartialEq
for some types in rustc_type_ir
change_time
refactored typeDrop
impls introducing more generic parameters than the ADTno_std
targets on std buildsCopy
/Clone
for async closuresextern "<abi>" unsafe fn()
error messageglobal_asm!
uses asm!
optionscfg_attr
sthir::Pat
to be printablemissing_fragment_specifier
an error in edition 2024resolve_associated_item
missing_fragment_specifier
as FutureReleaseErrorReportInDeps
unsized_const_parameters
in core/stdrustc --explain
flock
shimgettid
supportoffset_from
behavior on wildcard pointersconst_waker
is_sorted
offset_of_nested
{integer}::from_str_radix
i.e. const_int_from_str
anonymous_pipe
APIelem_offset
and related methodsis_multiple_of
for unsigned integer typesunsigned_signed_diff
u32::from::<char>
NonZero
unsigned_signed_diff
Vec::retain
Pattern
io::Cursor::{remaining_slice, is_empty}
source_id::with*
--check-cfg
supportclean::ItemKind
missing_trait_methods
: lint methods in definition orderneedless_borrows_for_generic_args
: Fix for &mutBTreeSet
detection to the set_contains_or_insert
lintif_let_mutex
in presence of other mutexeswhile_let_on_iterator
dropping loop label when applying fixDeref
in assigning_clones
u128
in cast_lossless
BindInsteadOfMap
a struct
std_instead_of_core
somewhat MSRV awarespan_lint_and_then
(i → p).cast
/.cast_const
/.cast_mut
in transmute_ptr_as_ptr
+ use<..> precise_capturing
syntaxrust-analyzer.toml
sasync
keyword on impl trait
methodsThere were some notable regressions this week. Some of them are being addressed via follow-up PRs (such as the change to whitespace diagnostic reporting), and some via reverts (such as the dead code analysis that tried to flag pub structs without pub constructors). A few regressions have not yet been addressed. See report for details.
Triage done by @pnkfelix. Revision range: 9629b90b..7e3a9718
5 Regressions, 6 Improvements, 6 Mixed; 8 of them in rollups 65 artifact 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:
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
Default
for collection iterators that don't already have itinvalid_type_param_default
into a FutureReleaseErrorReportInDeps
std::ffi::c_str
moduleinfo
cargo subcommandRusty Events between 2024-07-31 - 2024-08-28 🦀
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.
Please see the latest Who's Hiring thread on r/rust
Man, rust crates are so allergic to 1.0 that they'll skip all the way to version 22.
Thanks to Erich Gubler for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation
🏷️ Rust_feed