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's crate is Parsel, an easy to use parser generator.
Thanks to jacg for the suggestion!
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.
400 pull requests were merged in the last week
becomeexpressions (explicit tail calls experiment)
Becomeexpression kind (explicit tail calls experiment)
PartialEqcall generated by
structtail in layout computation
Default: Always inline primitive data types
::ptr_eqignore pointer metadata
Ipv6Addrfor IPv4-compatible addresses
Vecs over different allocators
.tomlfile extension restriction for
borrow_as_ptr: Ignore temporaries
format_push_string: look through
get_unwrap: include a borrow in the suggestion if argument is not an integer literal
items_after_test_module: Ignore in-proc-macros items
ptr_arg: Don't lint when return type uses
single_match: don't lint if block contains comments
type_repetition_in_bounds: respect MSRV for combining bounds
extra_unused_type_parameterson procedural macros
ifconditions always evaluate to true in
mem_forgetif any fields are
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.
&(dyn ... + Send)
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
label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature
Rusty Events between 2023-06-28 - 2023-07-26 🦀
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!
Email list hosting is sponsored by The Rust Foundation🏷️ Rust_feed