Warning
This post was published 106 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.
This week's crate is WhenFS, a FUSE filesystem that misuses your google calendar as storage. And yes, your schedule will look as packed as mine once you store one or two files in there.
Despite yet another week fully devoid of suggestions nor votes, llogiq is reasonably pleased with his choice.
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.
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!
381 pull requests were merged in the last week
derive(SmartPointer)
: require pointee to be maybe sized#[must_use]
to some into_raw*
functionsREDUNDANT_IMPORTS
lint for new redundant import detectionf16
and f128
math functionsrustc --version
link-shared
and static-libstdcpp
with CI LLVMCheckAttrVisitor
and aren't accidentally usable on completely unrelated HIR nodesBYTE_SLICE_IN_PACKED_STRUCT_WITH_DERIVE
hack and lintAttributeType::Normal
attributes with builtin attribute as first segment#[optimize]
is applied to an incompatible itembox_syntax
diagnostic if source isn't availableuse
declaration reformatting in .git-blame-ignore-revs
UncheckedIterator
directly for RepeatN
global_asm!
uses asm!
operands///
doc comments compatible with naked functionsParser::eat
/check
methods as #[must_use]
extern "C"
functions for f128
on WindowsCandidate
from outside the lowering algorithmdyn
tails in MIR borrowckcrate_level_only
from ELIDED_LIFETIMES_IN_PATHS
IntToInt
extern crate foo
when foo
isn't resolved in importambiguous_negative_literals
lint to allowinvalid_type_param_default
into a FutureReleaseErrorReportInDeps
const
operands in inline asmobject
in run-make/symbols-visibility
rustc_pattern_analysis
diagnosticsmiri_start
supportinstantiate_binder_with_fresh_vars
warn_if_unreachable
std::io::copy
specialisation for std::pipe::{PipeReader, PipeWriter}
BTreeSet
once_wait
featuref16
and f128
enabled by defaultCacheBuilder
code for building search indexSelf
type in search index and refactor its representationbody
usagerewrite_result
for Pat, TuplePatFieldrustc_tools_util
redundant_closure
false positive with closures has return type contains 'static
redundant_slicing
when the slice is behind a mutable referencemissing_backticks
in footnote referencesnonminimal_bool
opsspan_lint_and_then
(a → e)span_lint_and_then
(q → w)multispan_sugg[_with_applicability]
peel_middle_ty_refs
rustc_tools_util
commit hashesimplicit_hasher
await
outside of async
IndexMut
obligations for non-assigning mutable index usagesimpl Trait
when lowering generic argsOk(())
for expr block instead of wrapping with Ok
[package.repository]
and [package.description]
fieldsThis week saw several large improvements caused mostly by the update to LLVM 19. There were some regressions in several pull requests, but most of them were immediately fixed in a follow-up PR.
Triage done by @kobzol. Revision range: 7e3a9718..8c7e0e16
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
1.0% | [0.2%, 3.8%] | 91 |
Regressions ❌ (secondary) |
1.9% | [0.2%, 19.2%] | 104 |
Improvements ✅ (primary) |
-4.4% | [-15.8%, -0.3%] | 120 |
Improvements ✅ (secondary) |
-3.3% | [-10.4%, -0.2%] | 70 |
All ❌✅ (primary) | -2.1% | [-15.8%, 3.8%] | 211 |
6 Regressions, 3 Improvements, 5 Mixed; 4 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.
raw_ref_op
(RFC 2582)Ready::into_inner()
OccupiedEntry::{replace_key, replace_entry}
HashSet
and BTreeSet
Option::get_or_insert_default
Rusty Events between 2024-08-07 - 2024-09-04 🦀
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
Want to have a crate with a million features? Host your own registry and revel in the combinatorial explosion of choices!
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