Warning
This post was published 235 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 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.
minbpe
to RustThis week's crate is efs, a no-std ext2 filesystem implementation with plans to add other file systems in the future.
Another week completely devoid of suggestions, but llogiq stays hopeful he won't have to dig for next week's crate all by himself.
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.
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 submission website through a PR to TWiR.
409 pull requests were merged in the last week
CoverageLevel enum
-Z debug-macros
, -Z collapse-macro-debuginfo
and #[collapse_debuginfo]
edition_2024_compat
lintssplit_at_mut
codegen_select_candidate
returns ambiguity in new solverexpect_one_of
when recovering arg in parse_seq
--print
requestKnownPanicsLint
without calling layoutevaluate_added_goals_and_make_canonical_response
call in candidateSimplifiedType
for next solverinhibit_union_abi_opt()
to inhibits_union_abi_opt()
DerivedObligation
to WellFormedDeriveObligation
const fn
callsdead_on_unwind
attributes for sret arguments#[track_caller]
unix_sigpipe
: don't inline DEFAULT, just use it from rustc-Zmiri-env-set
to set environment variables without modifying the host environmentlocaltime_r
inline_const
Utf8Chunks
non_null_convenience
std::path::absolute
io_error_downcast
u32
instead of Self
in some integer intrinsics)struct
types for allocathread_local
: be excruciatingly explicit in dtor codeoffset_of!
returning a temporaryA: Clone
bound for rc::Weak::into_raw_and_alloc
PathBuf
: replace transmuting by accessor functionssingle_match
(_else
) may be machine applicablenon_canonical_partial_ord_impl
: Fix emitting warnings which conflict with needless_return
type_complexity
: Fix duplicate errorscollection_is_never_read
useless_vec
in testslarge_stack_arrays
linting in vec
macrocast_possible_truncation
readonly_write_lock
for underscore-prefixed bindingscargo run
always available for binariesSeveral non-noise changes this week, with both improvements and regresions coming as a result. Overall compiler performance is roughly neutral across the week.
Triage done by @simulacrum. Revision range: a77f76e2..c65b2dc9
2 Regressions, 2 Improvements, 3 Mixed; 1 of them in rollups 51 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.
Option::take_if
#[expect]
some lints: Stabilize lint_reasons
(RFC 2383)IntoIterator
for Box<[T]>
+ edition 2024-specific lintsBox<[T; N]>: IntoIterator
without any method dispatch hacksRusty Events between 2024-05-01 - 2024-05-29 🦀
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'll never!" "No, never is in the 2024 Edition." "But never can't be this year, it's never!" "Well we're trying to make it happen now!" "But never isn't now?" "I mean technically, now never is the unit." "But how do you have an entire unit if it never happens?"
Thanks to Jacob Pratt 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