This post was published 78 days ago. The infomation 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.
for await and the battle of buffered streams
This week's crate is io-adapters, a crate tha lets you convert between different writeable APIs (
Thanks to Alex Saveau for the self-suggestion!
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.
derive feature doesn't change API surface
all-jobs-succeeded CI job depends on all other jobs
If you are a Rust project owner and are looking for contributors, please submit tasks here.
391 pull requests were merged in the last week
async gen blocks
riscv32 platform support
never_patterns: Parse match arms with no body
deeply_normalize_for_diagnostics, use it in coherence
async fn return spans
SpanMarker to improve coverage spans for
if ! expressions
struct lit inside match guards
must_use on associated types and RPITITs that have a must-use trait in bounds
is_foreign_item for StableMIR instance
--env compiler flag (without
numeric_intrinsic accessible from Miri
panic_nounwind_fmt can still be fully inlined (e.g. for
Fn<(..., ...)> trait refs with parentheses (almost) always
? can't be called because of
PolyGenSig since it's always a dummy binder
precise_pointer_size_matching feature gate
use suggestion on privacy error
.clone() suggestion to work in more cases
immediate_backend_type when reading from a const alloc
MAP_FAILED when mmap fails
Vec::dedup_by into 2 cycles
FuturesOrdered: use 64-bit index
FuturesUnordered: fix clear implementation
cfg(target_has_atomic) on no-std targets
[lints] in virtual workspaces
SO cannot be trimmed
StyleEdition enum and
needless_borrows_for_generic_args: Handle when field operand impl Drop
uninhabited_reference: new lint
concat_bytes! expansion emitting an identifier
format_args! with invalid template
A quiet week overall. A few smaller crate (e.g., helloworld) benchmarks saw significant improvements in #118568, but this merely restores performance regressed earlier.
Triage done by @simulacrum. Revision range: 9358642..5701093
5 Regressions, 2 Improvements, 3 Mixed; 2 of them in rollups
69 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 on free const items
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
label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature
Rusty Events between 2023-12-13 - 2024-01-10 🦀
Please see the latest Who's Hiring thread on r/rust
Sadly, the week went by without a nominated quote.
Email list hosting is sponsored by The Rust Foundation🏷️ Rust_feed