Warning
This post was published 99 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.
r3bl_terminal_async
v0.5.6 releasedr3bl_tui
v0.5.7 releasedThis week's crate is rencfs, a FUSE-based encrypted filesystem for Linux.
Thanks to Radu Marias 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!
395 pull requests were merged in the last week
nontemporal_store
: make sure that the intrinsic is truly just a hintrustc_codegen_ssa
: Set architecture for object crate for 32-bit SPARCrustc_lint
: make let-underscore-lock
translatableunused_parens
: do not lint against parens around &rawbuilder-config
into tarball sourcestarget_feature
attributecfg_attr
checked by CheckAttrVisitor
AsyncFn
for FnDef
/FnPtr
that wouldnt implement Fn
#[no_sanitize]
attributeElaborateBoxDerefs
on debug varinfoGuard
's drop
method is removed at opt-level=s
for …
Ord
viulation helpstd
statically in rustc_driver
--whole-archive
in test mode" backcompat hackstruct
tail properly for dyn
ptr-to-ptr casting in new solver#[allow]
for --warn
and --deny
lint level flagsParamEnv
to might_permit_raw_init_strict
throw_unsup_format
for alignment greater than 2^29getuid()
miri_print_borrow_state()
under -Zmiri-disable-stacked-borrows
min_exhaustive_patterns
get_backtrace_style
std::thread: set_name
implementation proposal for vxWorksascii::Char
f16
and f128
math functionsDefault
for collection iterators that don't already have itBufReader::peek
RawVec
LocalWaker::will_wake
consistent with Waker::will_wake
f16
and f128
support for WebAssemblycargo add
inferred name testinfo
cargo subcommandcargo package
failed on bare commit git repowith_context
macro_metavars_in_unsafe
: recognize metavariables in tail expressionssingle_match
: fix checking of explicitly matched enumsunused_result_ok
clippy_dev
and lintcheck
doc_markdown
is triggered on words ending with "ified"snippet_opt
callsinconsistent_struct_constructor
on the struct
definition#[rustc_deprecated_safe_2024]
find_path
not respecting non-std preference config correctlylet
diagnostics inside async or unsafe blockSelf
kwA big week for compiler performance brought on mostly by statically linking the std library into rustc_driver
instead of dynamic linking. This overshadows all other improvements and regressions that were seen this week.
Triage done by @rylev. Revision range: 8c7e0e16..9cb1998e
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
- | - | 0 |
Regressions ❌ (secondary) |
- | - | 0 |
Improvements ✅ (primary) |
-1.3% | [-2.9%, -0.2%] | 217 |
Improvements ✅ (secondary) |
-1.4% | [-4.9%, -0.2%] | 196 |
All ❌✅ (primary) | -1.3% | [-2.9%, -0.2%] | 217 |
2 Regressions, 2 Improvements, 2 Mixed; 1 of them in rollups 35 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.
iter::repeat_n()
(feature(iter_repeat_n)
)unsafe_attributes
Rusty Events between 2024-08-14 - 2024-09-11 🦀
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
We are living through Rust finding its more "complete" form while still being an actually useful production language.
Given a woeful lack of suggestions, llogiq is reasonably pleased with his choice.
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