Warning
This post was published 49 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.
Debug
-ing with Perfect HashingThis week's crate is deep_causality, a hyper-geometric computational causality library.
Thanks to Marvin Hansen for the self-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.
ockam completion
clap command to specify how to use itError
enum members and avoid appearing of such members in the future 1If you are a Rust project owner and are looking for contributors, please submit tasks here.
417 pull requests were merged in the last week
max_atomic_width
for AVR to 16max_atomic_width
for sparc-unknown-linux-gnu to 32Rc
and Arc
when suggesting to clonelet
bindingasync move
in the 2015 editionExpressionOperandId
with enum Operand
struct
tail unsizing in new solver selectincorrect_fn_null_checks
lintinvalid_reference_casting
lintDebug
representations of [Lazy, Once]*[Cell, Lock]
consistent with Mutex
and RwLock
unconditional_recursion
warning detect recursive dropsCopy
implseach_borrow_involving_path
Iterator
implementation for &mut impl Iterator + Sized
constness
from TraitPredicate
confusable_idents
lintlibLLVM.so
and librustc_driver.so
when not requesting any debuginfomir_for_ctfe
compare_bytes
intrinsic instead of calling memcmp
directlyparent_module_from_def_id
does not need to be a queryrustc_data_structures
: Simplify base_n::push_str
rustc_span
: Hoist lookup sorted by words out of the loopcg_llvm
: stop identifying ADTs in LLVM IRabi_thiscall
SliceIndex<str>
for (Bound<usize>, Bound<usize>)
Option::take_if
unix/kernel_copy.rs: copy_file_range_candidate
allows empty output filestracing
..
closure if it's a method call receiverptr_as_ptr
: Take snippet instead of pretty printing typeredundant_type_annotations
: only pass certain def kinds to type_of
unnecessary_mut_passed
: don't lint in macro expansionsunwrap_used
: Do not lint unwrapping on !
or never-like enumsmethods/mod.rs
matchsuspicious_xor_used_as_pow.rs
performanceignored_unit_patterns
impossible_comparisons
and redundant_comparisons
question_mark
warning if question_mark_used
is not alloweddoc(hidden)
default membersgenerate_default_from_new
when impl self ty is missingstruct
problems in mir evaladd_missing_match_arms
assist when upmapping match arm list failedOverall a very positive last week, primarily due to an upgrade to LLVM 17 and some changes to lint execution. Memory usage is down 4-7% over the last week and wall times are down 3-5%.
Triage done by @simulacrum. Revision range: 828bdc2c..443c3161
2 Regressions, 7 Improvements, 2 Mixed; 2 of them in rollups 64 artifact comparisons made in total
Full report 7/22-8/1, Full report 8/1-8/8.
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.
const_collections_with_hasher
const
contexts.#[repr(Rust)]
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.
Rusty Events between 2023-08-09 - 2023-09-06 🦀
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
Claiming Rust won't help you because you're doing so many unsafe things is like claiming protective gear won't help you because you're handling so many dangerous substances.
llogiq feels very smug about his 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