Warning
This post was published 171 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.
Service
, the heart of hexagonal architectureThis week's crate is asak, a terminal-based audio recording/playback TUI.
Despite a lamentable lack of suggestions this week, 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!
408 pull requests were merged in the last week
rustc_data_structures
: Explicitly check for 64-bit atomics support()
to the marker_impls
macro for ConstParamTy
.ignore
file to make config.toml
searchable in vscodef16
and f128
#[coverage(..)]
apply recursively to nested functionsuse<>
for RPITITsPREC_POSTFIX
and PREC_PAREN
precedence levelf16
and f128
x86_64
code being produced for bare-metal LoongArch targets' compiler_builtins
_
as return types on function signature(*p).clone
to p.clone
if the p
is a raw pointerllvm::Lld
if lld is not enabledrustc_
attribute to dump all the DefId
parents of a DefId
maybe_whole_expr
, take 2#[expect]
some lints: Stabilize lint_reasons
(RFC 2383)feature(effects)
require -Znext-solver
parse_generic_ty_bound
TypeId
as a u128
for Debug
StableOrd
trait{to,from}_bits
pointer methodsf16
and f128
ICE paths from smirPtrToPtr
casts in GVNimpl fmt::Pointer for AtomicPtr
static
variableAttribute
of itemsnon_local_definitions
lint to allow-by-defaultfn_decl_span
for async blocksFlatPat::new
to avoid a temporarily-invalid statecreate_match_candidates
dylib
and bin_helpers
and create shared_helpers::parse_value_from_args
clang-format
in tidy
to check the C++ code style under llvm-wrapper
rustc_codegen_ssa
cleanupsrustc_interface
iter_exported_symbols
: also walk used statics in local crateframe_in_std
checkPanicInfo::message()
and PanicMessage
duration_abs_diff
Hasher::finish
as #[must_use]
unexpected_builtin_cfgs
lint in user_specific_cfgs
testrevision
feature from cargoCARGO_CFG_TARGET_FAMILY
is multi-valueddoc_lazy_continuation
: blank comment line for gapmanual_inspect
lintassertions_on_constants
on any const assertionsdoc_markdown
DevOps false positiverotate_left/rot…
use foo::{self}
to use foo
bool_to_enum
assist for parametersImplTraits
in insert_inference_vars_for_impl_trait
We saw a large set of primary benchmarks regress, mostly due to PR #120924 (lint_reasons
and #[expect]
) and PR #120639 (new effects
desugaring). Separate from those, there are a couple rollup PRs (#127076, #127096) with some regressions that were limited to relatively few benchmarks; pnkfelix was unable to isolate a injecting PR that can be identified as a root cause (outside assistance welcome!).
Triage done by @pnkfelix. Revision range: c3d7fb39..cf2df68d
4 Regressions, 3 Improvements, 11 Mixed; 7 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: * RFC: Unblock Cargo feature metadata
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
#[deny]
inside #[forbid]
as a no-op#[coverage]
elided_lifetimes_in_associated_constant
to denyconst_cstr_from_ptr
Rusty Events between 2024-07-03 - 2024-07-31 🦀
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
the compiler usually doesn't complain about [you] doing undefined behavior because it doesn't know that you're doing undefined behavior.
Thanks to scottmcm 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