Warning
This post was published 192 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.
This week's crate is hydra, an actor framework inspired by Erlang/Elixir.
Thanks to https://users.rust-lang.org/t/crate-of-the-week/2704/1313 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.
No Calls for participation were submitted this week.
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!
409 pull requests were merged in the last week
#[linkage]
rustc_codegen_ssa
: fix get_rpath_relative_to_output
panic when lib only contains file nameproc_macro_back_compat
lint to an unconditional errorIterator
and give a custom explanationPath::with_extension
Unsize
candidate in intercrate modeunsafe_op_in_unsafe_fn
for deprecated safe fnsunreachable_pub
lintAggregateKind::RawPtr
unwrap
in probe_for_name_many
DEFAULT_MIN_STACK_SIZE
to at least 64KiBhas_unconstrained_ty_var
when generalizing aliases in bivariant contextsConst
into TyConst
and MirConst
ty::Expr
arguments in the ty::Expr
derive
ing, account for HRTB on BareFn
fieldsSingleUseConsts
mir-opt passsimd_bitmask
: nicer error when the mask is too bigsimd_bitmask
: work correctly for sizes like 24simd_select_bitmask
: fix intrinsic name in errorpclmulqdq
intrinsicquery_instability
lint for rustc_monomorphize
Option::take_if
binary_heap_as_slice
error_in_core
core_intrinsics
when activated (RFC #2011)core::iter::chain
offset_of
: allow (unstably) taking the offset of slice tail fieldsFRAC_1_SQRT_2PI
constant to f16/f32/f64/f128size_of
and size_of_val
and align_of
and align_of_val
to the preludeto
, from
}_bitmask_vector
Match
unknown_lints
to lints listlicence
and readme
files do not exist into errorslib.plugin
key support and make it warning__CARGO_GITOXIDE_DISABLE_LIST_FILES
env var--release/debug
and --profile
together becomes an errorlint_groups_priority
: ignore lints & groups at the same levelmatch_same_arms
: add a test case with lifetimesoverly_complex_bool_expr
: Fix false positive on never typeneedless_maybe_sized
lintnonminimal_bool_methods
diagsblocks_in_conditions
to_string_in_format_args
with macro call receiverneedless_character_iteration
linttype_certainty
manual_unwrap_or_default
for Result
as wellfor_each_expr
visit closures by default, rename the old version for_each_expr_without_closures
suboptimal_flops
on inherent method callspackage.json
so vscode extension settings have submenusSourceRoot
cannot be itselfpackage.json
This week saw more regressions than wins, caused mostly by code being reorganized within the compiler and a new feature being implemented. There have also been some nice improvements caused by better optimizing spans.
Triage done by @kobzol. Revision range: 1d52972d..b5b13568
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
0.6% | [0.2%, 2.7%] | 105 |
Regressions ❌ (secondary) |
1.0% | [0.1%, 6.9%] | 74 |
Improvements ✅ (primary) |
-0.5% | [-1.0%, -0.2%] | 20 |
Improvements ✅ (secondary) |
-1.4% | [-8.8%, -0.2%] | 32 |
All ❌✅ (primary) | 0.5% | [-1.0%, 2.7%] | 125 |
5 Regressions, 3 Improvements, 4 Mixed; 5 of them in rollups 59 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.
hint::assert_unchecked
Rusty Events between 2024-06-12 - 2024-07-10 🦀
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 like explicit but I hate noise...
– dlevac discussing error handling on /r/golang
Thanks to robin 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