Warning
This post was published 108 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.
Send + Sync + 'static
)This week's crate is vimania-uri-rs, a VIM plugin for file and URI handling.
Thanks to sysid 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!
416 pull requests were merged in the last week
rustc_target
: Add various aarch64 featuresub_checks
intrinsics: fall back to cfg(ub_checks)
aarch64_unknown_nto_qnx700
target - QNX 7.0 support for aarch64leneeds-unwind
compiletest directive to libtest-thread-limit
and replace some Path
with path
in run-make
Span
and visit::Location
needs-llvm-components
directives for run-make tests that need target-specific codegenCodeRegion
to SourceRegion
wasm_c_abi
lint to nudge the last 25%rustc_type_ir::inherent
outside of type ir + new trait solversource_span
when not tracking dependenciesTyKind
in a linttime<=0.3.35
predicates_defined_on
struct
target featuresraw_eq
elided_named_lifetimes
)LazyArray
panic if not setconst_precise_live_drops
per-functionunreachable_pub
'tcx
lifetime off of impl and onto methods for CrateMetadataRef
remove_dir_all
impl into a module and make it more race resistantBikeshedIntrinsicFrom
to TransmuteFrom
lint_expectations
in a single passsys
ty::GenericPredicates
for non-predicates_of
queriespanic_immediate_abort
Duration::MAX
derive(SmartPointer)
: assume pointee from the single generic and better error messagesfmt::Debug
to sync::Weak<T, A>
read_buf
stub for x86_64-unknown-l4re-uclibc
BufReader::peek
to be called on unsized typescompare_bytes
for more slice element typesPin::set
bounds regressionchecked_isqrt
and isqrt
methodsfeature(new_uninit)
HashTable::iter_hash
, HashTable::iter_hash_mut
implicit_saturating_sub
lintzombie_processes
feature=cargo-clippy
argumentasync fn ...
in impl trait
for async fn in trait
that's defined in desugar formfor
in impl T for A
in function bodyenum
discriminant assistaddr_of[_mut]!(EXTERN_OR_MUT_STATIC)
let_stmt
and fn_param
std::error::Error
is object unsafestruct
and the oppositeTokenStream::to_string
implementation dropping quotation marksThis week we had some trouble with our performance bot, but luckily the issue has been resolved. In the end, we saw much more improvements than regressions.
Triage done by @kobzol. Revision range: acb4e8b6..6199b69c
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions โ (primary) |
0.3% | [0.2%, 0.4%] | 8 |
Regressions โ (secondary) |
0.7% | [0.2%, 1.5%] | 9 |
Improvements โ
(primary) |
-0.8% | [-3.4%, -0.2%] | 158 |
Improvements โ
(secondary) |
-0.7% | [-2.3%, -0.2%] | 96 |
All โโ (primary) | -0.7% | [-3.4%, 0.4%] | 166 |
2 Regressions, 3 Improvements, 1 Mixed; 3 of them in rollups 19 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.
catch_unwind
doc comments for c_unwind
const_extern_fn
extern "C"
frames to be executedchar::MIN
#![feature(entry_insert)]
Rusty Events between 2024-09-04 - 2024-10-02 ๐ฆ
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'm pretty sure I'm the only person ever to single handedly write a complex GPU kernel driver that has never had a memory safety kernel panic bug (itself) in production, running on thousands of users' systems for 1.5 years now.
Because I wrote it in Rust.
Thanks to Ludwig Stecher 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