2023-08-09
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
WASI threads, implementation of wasm32-wasi-preview1-threads target
avoid invalid NaN lint machine-applicable suggestion in const context
parser: more friendly hints for handling async move in the 2015 edition
detect trait upcasting through struct tail unsizing in new solver select
infer type in irrefutable slice patterns with fixed length as array
make Debug representations of [Lazy, Once]*[Cell, Lock] consistent with Mutex and RwLock
make lint missing-copy-implementations honor negative Copy impls
only consider places with the same local in each_borrow_involving_path
only unpack tupled args in inliner if we expect args to be unpacked
const validation: point at where we found a pointer but expected an integer
optimize Iterator implementation for &mut impl Iterator + Sized
resolve before canonicalization in new solver, ICE if unresolved
rework upcasting confirmation to support upcasting to fewer projections in target bounds
strip unexpected debuginfo from libLLVM.so and librustc_driver.so when not requesting any debuginfo
miri: tree borrows: consider some retags as writes for the purpose of data races
add a new compare_bytes intrinsic instead of calling memcmp directly
filter out short-lived LLVM diagnostics before they reach the rustc handler
unix/kernel_copy.rs: copy_file_range_candidate allows empty output files
regex-automata: fix incorrect offsets reported by reverse inner optimization
regex: fix memory usage regression for RegexSet with capture groups
cargo: bail out an error when using cargo: in custom build script
cargo: don't attempt to read a token from stdin if a cmdline token is provided
cargo: fix printing multiple warning messages for unused fields in registries table
rustfmt: fix: add parenthesis around .. closure if it's a method call receiver
clippy: ptr_as_ptr: Take snippet instead of pretty printing type
clippy: redundant_type_annotations: only pass certain def kinds to type_of
clippy: unnecessary_mut_passed: don't lint in macro expansions
clippy: unwrap_used: Do not lint unwrapping on ! or never-like enums
clippy: new lints: impossible_comparisons and redundant_comparisons
clippy: suppress question_mark warning if question_mark_used is not allowed
rust-analyzer: allow match to matches assist to trigger on non-literal bool arms
rust-analyzer: don't provide generate_default_from_new when impl self ty is missing
rust-analyzer: exclude non-identifier aliases from completion filtering text
rust-analyzer: don't provide add_missing_match_arms assist when upmapping match arm list failed
rust-analyzer: remove unwraps from "Generate delegate trait"
rust-analyzer: strip unused token ids from eager macro input token maps
rust-analyzer: name change Import to Use in hir-def, add unused placeholder variants for UseId
rust-analyzer: set the default status bar action to openLogs
rust-analyzer: use the warning color when rust-analyzer is stopped
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