Warning
This post was published 91 days ago. The infomation 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 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 Parsel, an easy to use parser generator.
Thanks to jacg for the suggestion!
Please submit your suggestions and votes for next week!
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.
lease
commandsIf you are a Rust project owner and are looking for contributors, please submit tasks here.
400 pull requests were merged in the last week
become
expressions (explicit tail calls experiment)hir
: Add Become
expression kind (explicit tail calls experiment)ReStatic
for RPITITPartialEq
call generated by match
struct
tail in layout computationOpaqueTypeCollector
compiler-builtins-weak-intrinsics
feature for -Zbuild-std
closure_saved_names_of_captured_variables
a queryBorrowKind::Unique
into BorrowKind::Mut
rustc_builtin_macros
offset_of!()
resultNormalize
clausesFnPtr
traitDefault
: Always inline primitive data typesalloc::rc::UniqueRc
Arc
, Rc
, Weak
}::ptr_eq
ignore pointer metadataDisplay
for Ipv6Addr
for IPv4-compatible addressesSocket::connect_timeout
overflowStepBy<Range<{integer}>>
PartialOrd
for Vec
s over different allocatorsSync
for mpsc::Sender
cargo Cargo.toml
.toml
file extension restriction for -Zconfig-include
let-else
formatting (finally!)borrow_as_ptr
: Ignore temporariesformat_push_string
: look through match
and if
expressionsget_unwrap
: include a borrow in the suggestion if argument is not an integer literalitems_after_test_module
: Ignore in-proc-macros itemsptr_arg
: Don't lint when return type uses Cow
's lifetimesingle_match
: don't lint if block contains commentstype_repetition_in_bounds
: respect MSRV for combining boundsextra_unused_type_parameters
on procedural macrosif
conditions always evaluate to true in never_loop
excessive_precision
on infiter_nth_zero
in next
mem_forget
if any fields are Drop
Relatively quiet week outside of a large win on one incremental benchmark in a regression test (i.e., not real world code). Bimodality in a number of benchmarks continues to be an issue.
Triage done by @simulacrum. Revision range: b9d608c9..b5e51db
5 Regressions, 6 Improvements, 3 Mixed; 5 of them in rollups
44 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.
unnecessary_send_constraint
lint for &(dyn ... + Send)
internal_features
lintdyn Trait
objectsAn 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.
Rusty Events between 2023-06-28 - 2023-07-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
It's a compiler not a Jedi, don't expect it to read minds.
Thanks to Nishant for the self-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