Info
This post is auto-generated from RSS feed This Week in Rust. Source: This Week in Rust 579
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.
This week's crate is OmniLED, a helper to display things like time or audio volumne on a LED matrix that some peripherials (such as gaming keyboards) have.
Thanks to llogiq for the 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!
398 pull requests were merged in the last week
Variants::Single
: do not use invalid VariantIdx for uninhabited enumsrustc_borrowck
: Suggest changing &raw const
to &raw mut
if applicableProcThreadAttributeList
into its own struct
--doctest-compilation-args
option to add compilation flags to doctest compilationignore-rustc-debug-assertions
to tests/ui/associated-consts/issue-93775.rs
{i686,x86_64}-win7-windows-msvc
to their parent targetstail_expr_drop_order
lint in promoted MIR queryTypeVerifier
LateParamRegionKind
NonConstFunctionCall
error messagemap_data.rs
by moving its responsibilities elsewhereSpan
until codegen (take 2).
in method chain in let
bindings and statementsdyn*
castsimpl PointerLike
-Z input-stats
orderingDropKind::ForLint
in coroutines correctly= _
as associated constant value inside impl blocksstruct
value when formatting struct
backwards_incompatible_lint
drops appropriately in drop elaborationlint_unused_mut
into sub-fnfind_mir_or_eval_fn
rustc_span::symbol
things from rustc_span
FatalError.raise()
#[non_exaustive]
on structs with default field valuesSwitchInt
handlingdyn*
trait objectsPtrMetadata
instead of Len
in slice drop shimsstd::fs::rename
if availableEarlyOtherwiseBranch
track_caller
to thread spawning methods for better backtracesunnamed_socket
Parser::expected_tokens
dependency_format
a bit#[diagnostic::do_not_recommend]
ptr::swap_nonoverlapping
when there are pointers at odd offsetsvec.extract_if
is_ascii
for str
and [u8]
furtherPointerLike
for isize
, NonNull
, Cell
, UnsafeCell
, and SyncUnsafeCell
PointerLike
for trait objectsabs_diff
test
cfg as a well known cfg before of compiler changefilter_map_identity
with an iterator from an empty arrayunnecessary_to_owned
to_proto
@
patternsunnecessary_async
assistalways!
check for file_id
in runnables
We missed triage last week due to some process issues, so this triage includes two weeks of data. The overall result is positive, due to parser optimizations (#133793), trait solving optimizations (#134501, #132325) and bumping the cc crate (#134505), which improved the performance of C/C++ dependencies of the compiler.
Triage done by @kobzol. Revision range: 1b3fb316..0eca4dd3
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions โ (primary) |
0.5% | [0.3%, 0.8%] | 3 |
Regressions โ (secondary) |
1.0% | [1.0%, 1.0%] | 1 |
Improvements โ
(primary) |
-1.8% | [-7.5%, -0.3%] | 254 |
Improvements โ
(secondary) |
-1.3% | [-5.4%, -0.3%] | 224 |
All โโ (primary) | -1.8% | [-7.5%, 0.8%] | 257 |
4 Regressions, 10 Improvements, 12 Mixed; 9 of them in rollups 90 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.
file!
feature(trait_upcasting)
derive(CoercePointee)
asm_goto feature gate
--nocapture
doesn't follow common CLI conventions, making it a stumbling block to people debugging failuressub_ptr
(feature ptr_sub_ptr
)alloc::Layout
Rusty Events between 2024-12-25 - 2025-01-22 ๐ฆ
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
It's only a transmute if it's from the transmute region of std; otherwise it's just sparkling unsafety.
Thanks to Josh for the self-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