Warning
This post was published 92 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.
srgn 0.13
: new grep-like search mode for source codeThis week's crate is discret, a graphQL-based peer-to-peer implementation library.
Thanks to adsalais for the self-suggestion!
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.
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.
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!
426 pull requests were merged in the last week
-Znext-solver
cachingParamEnvAnd::fully_perform
: we have an ocx
, use itderive(SmartPointer)
: register helper attributes&&str
// TODO
: comment for deprecated safe autofix#[may_dangle]
is properly applied--generate-link-to-definition
is used with other output formats than HTMLis_val_statically_known
for floatsByMoveBody
passget_fn_decl
compiler-rt
source in the download-ci-llvm
tarballFn
bound even if there is no corresponding Future
bound on returnpowerpc64
call ABI handlingprint::Pat
from the printing of WitnessPat
Eq
/Subtype
HirId
when finding body owner in diagnosticstry_from_lit
FnSig
instead of raw FnDecl
for ForeignItemKind::Fn
, fix ICE for Fn
trait error on safe foreign fnar_archive_writer
for writing COFF import libs on all backendsenum2$
Natvis visualiser for repr128 C-style enumstls_leak_main_thread_allowed
: make test check target_thread_local
test_socketpair_read
: explicitly check real and Miri behaviorepoll_wait
maxevent value 0TyKind::FnPtr
Ready::into_inner()
asm_const
is_none_or
raw_ref_op
(RFC 2582)std::thread::Builder::spawn_unchecked
unsafe_attributes
CommandExt::before_exec
: deprecate safety in edition 2024std::fs: get_mode
implementation for all unix#[must_use]
attribute to Coroutine
traitTake<Repeat>
and Take<RepeatWith>
pow
by removing the exit branch--lockfile-path
flagTomlDebugInfo
rustdoc_json_types
fn config_path
returns canonicalized pathsassigning_clones
for testsexplicit_iter_loop
with msrvcollapsible_match
error message syntaxfind_format_arg_expr
AST fallbackstring_slice
if expression is reference to &str
min_exhaustive_patterns
convert_while_to_loop
A fairly noisy week (though most of that has been dropped from this report). Overall we saw several improvements, and ended the week on a net positive. Memory usage is down around 1.5-3% over the course of the week, primarily due to RawVec polymorphization and CloneToUninit impl expansion.
Triage done by @simulacrum. Revision range: 9cb1998e..4fe1e2bd
1 Regressions, 1 Improvements, 3 Mixed; 1 of them in rollups 53 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 HashMap
/HashSet
iterators that don't already have itdeny-by-default
against references to static mut
CARGO_RUSTC_CURRENT_DIR
Rusty Events between 2024-08-21 - 2024-09-18 🦀
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
I'm trying to round up to next power of two (for fun).
I know that's perhaps not a lot of fun, but there's next_power_of_two() on all integer types.
That is indeed less fun.
– Edeadlink and Riccardo Borgani on rust-users
Thanks to Jonas Fassbender 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