2024-02-21
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.
oct commandline tool for inspecting, configuring and using OpenPGP card devices such as Nitrokey or Yubikey.This week's crate is kind, a helper crate for typed UUIDs.
Thanks to Denys Séguret for the self-suggestion!
Please submit your suggestions and votes for next week!
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.
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.
offset field to disputes listoffset field to mandates listIf you are a Rust project owner and are looking for contributors, please submit tasks here.
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
If you are an event organizer hoping to expand the reach of your event, please submit a link to the submission website through a PR to TWiR.
508 pull requests were merged in the last week
macro_rules: Preserve all metavariable spans in a global side table
allow mutable references in const values when they point to no memory
always evaluate free constants and statics, even if previous errors occurred
be less confident when dyn suggestion is not checked for object safety
consider principal trait ref's auto-trait super-traits in dyn upcasting
continue reporting remaining errors instead of silently dropping them
detect when method call on argument could be removed to fulfill failed trait bound
ignore unsized types when trying to determine the size of the original type
store static initializers in metadata instead of the MIR of statics
suggest into_iter() when Iterator method called on impl IntoIterator
optimize away poison guards when std is built with panic=abort
codegen_cranelift: fix simd_select_bitmask on big-endian systems
codegen_cranelift: fix download hash check on big-endian systems
rustdoc: fix handling of doc_auto_cfg feature for cfg attributes on glob reexport
clippy: case_sensitive_file_extension_comparisons: Don't trigger on digits-only extensions
clippy: implied_bounds_in_impls: avoid linting on overlapping associated tys
clippy: incompatible_msrv: allow expressions that come from desugaring
clippy: ensure ASM syntax detect global_asm! and asm! only on x86 architectures
clippy: add check for identical guards in lint match_same_arms
clippy: make #[allow] work on field for pub_underscore_fields
rust-analyzer: activate on top level Cargo.toml and rust-project.json files
rust-analyzer: deduplicate references when some of them are in macro expansions
rust-analyzer: support multiple tab stops for completions in VSCode
rust-analyzer: don't show type mismatches for {unknown} to non-{unknown} mismatches
rust-analyzer: fix "needless return" diagnostic for trailing item declarations
rust-analyzer: fix build scripts not being rebuilt in some occasions
rust-analyzer: fix false positives for "unnecessary else" diagnostic
rust-analyzer: fix snippets being placed leftwards of where they should be
rust-analyzer: improve recover on = for record field initializer and pattern
rust-analyzer: place snippets correctly in multi-edit assists
Rusty Events between 2024-02-21 - 2024-03-20 🦀
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
Shared mutable state is evil, and you can solve it by forbidding mutation, or by forbidding sharing. Rust supports both.
Thanks to Aleksey Kladov for the 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