Warning
This post was published 191 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.
mpsc
channels in RustThis week's crate is pulso, a simple metrics collector for TCP/IP.
Thanks to guapodero 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.
jq
errorIf 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!
397 pull requests were merged in the last week
FnMut
/Fn
if it has no self-borrowsfor_loops_over_fallibles
lint to lint on fallibles behind references'block
for if
blockunexpected_cfgs
lint on stdreport_return_mismatched_types
move
if the outer closure is move
and FnOnce
ReVar
in note_and_explain_region
note_source_of_type_mismatch_constraint
#[do_not_recommend]
to the #[diagnostic]
namespace#[linkage]
Arguments::new*
instead of recursingDefId
from EarlyParamRegion
FrameworkOnlyWindows
to RawDylibOnlyWindows
DynMetadata
in MIRWG-trait-system-refactor
Backtrace::force_capture
instead of Backtrace::capture
in rustc_log
DynMetadata
Self
ctor from outer item is referenced in inner nested itemMiriAllocBytes
to guarantee different addressesLazyCell
and LazyLock
div_duration
slice_flatten
optimize_for_size
IntoIterator
for Box<[T]>
+ edition 2024-specific lintsassert_unsafe_precondition
to unchecked_{add,sub,neg,mul,shl,shr}
methodsDebug
ASCII &str
Sync
impl for ReentrantLockGuard
VecDeque::shrink_to
UB when handle_alloc_error
unwindsunchecked_sh[lr]
ub-checks a bitcopy_file_range
probeclamp
inlinec_char
on AIXPathBuf::set_extension
would add a path separator-fuse-ld=lld
on CCs that don't support itstruct
drop
to let _
due to nightly rustc changei32
rather than usize
as "default integer" in library templatesignificant_drop_in_scrutinee
: Trigger lint only if lifetime allows early significant dropwhile_float
let_and_return
's suggestionnumbered_fields
message errormissing_backticks
doc lintunnecessary_to_owned
interaction with macro expansioncheck_partial_eq_without_eq
check_unsafe_derive_deserialize
iter_on_empty_collections
if the iterator's concrete type is relied upontoggle_async_sugar
assist code actiondata_constructor
ignoring generics for struct
run
and debug
command in clientformat_args
lowering passing incorrect parameters to rustc_parse_format
{self}
when removing unused importsA relatively quiet week, with few large changes, the largest driven by further increasing the scope of unsafe precondition checking.
Triage done by @simulacrum. Revision range: 1d0e4afd..a59072ec
2 Regressions, 3 Improvements, 5 Mixed; 3 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.
Error
in core
WHERE_CLAUSES_OBJECT_SAFETY
a regular object safety violation--emit foo
in json artifact notifications'static
in associated constscustom_code_classes_in_docs
featureRusty Events between 2024-05-29 - 2024-06-26 🦀
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’ve said it before and I’ll say it again: as a child of OCaml and C++, Rust currently is the best language for production compiler-shaped things.
Thanks to Stephan Sokolow 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