2023-11-15
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 cargo-msrv, a cargo subcommand to find out the Minimum Supported Rust Version (MSRV) of your crate.
llogiq is a bit worried about not having received suggestions for two weeks in a row, but still offers you his choice.
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.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
364 pull requests were merged in the last week
add a new download-ci-llvm = if-unchanged option and enable it by default for profile = codegen
compute layout with spans for better cycle errors in coroutines
extend builtin/auto trait args with error when they have >1 argument
improve diagnostic for const ctors in array repeat expressions
on method chain expression failure, look for missing method in earlier segments of the chain
only instantiate binder during dyn's built-in trait candidate probe once
only use normalize_param_env when normalizing predicate in check_item_bounds
recover from incorrectly ordered/duplicated function keywords
reorder checks to make sure potential missing expect on Option/Result…
miri: treat thread-local statics on main thread as static roots for leakage analysis
futures: provide a non-destructive mechanism to determine if a sink/stream are paired
codegen-cranelift: implement AArch64 intrinsics necessary for simd-json
codegen-cranelift: implement AES-NI and SHA256 crypto intrinsics using inline asm
codegen_gcc: do not emit .eh_frame section if using -Cpanic=abort
cargo: add better error message when it can not find the search section
cargo credential: include license files in all published crates
cargo: fix non-deterministic behavior in last-use repopulation
cargo: preserve jobserver file descriptors on rustc invocation in fix_exec_rustc
clippy: mod_module_files Don't emit lint for mod.rs in tests
clippy: add type details to unnecessary_fallible_conversions note
clippy: don't check for late-bound vars, check for escaping bound vars
clippy: lint needless_borrow and explicit_auto_deref on most union field accesses
rust-analyzer: add config for preferring / ignoring prelude modules when inserting imports
rust-analyzer: ignore doc(hidden) attr if no body is present
rust-analyzer: truncate closure capture place for raw pointer
Rusty Events between 2023-11-15 - 2023-12-13 🦀
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 decided to keep learning Rust because I liked the syntax. I liked the speed. I liked the community. I liked it all. It felt like a breath of fresh air: a syntax more intuitive than Python, JavaScript, or C, yet still faster.
Thanks to Goren Barak 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