2023-06-07
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 kanata, a keyboard remapper for Linux and Windows.
Thanks to Aleksey Kladov for the 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.
MerchantKeyStore--yes flag to delete commands to prevent unintentional deletionsockam node createproject path not found errorIf you are a Rust project owner and are looking for contributors, please submit tasks here.
392 pull requests were merged in the last week
QNX Neutrino: exponential backoff when fork/spawn needs a retry
Control Flow Integrity: fix with repr(transparent): transform_ty: unexpected Alias(Proj
Control Flow Integrity: fix async: transform_ty: unexpected GeneratorWitness(Bi…
add other workspaces to linkedProjects in rust_analyzer_settings
check nested obligations during coercion unify in new solver
diagnostics: exclude indirect private deps from trait impl suggest
don't ICE in new solver when auto traits have associated types
fix bug where private item with intermediate doc hidden re-export was not inlined
fix re-export of doc hidden item inside private item not displayed
linker: report linker flavors incompatible with the current target
only rewrite valtree-constants to patterns and keep other constants opaque
optimize scalar and scalar pair representations loaded from ByRef in llvm
remove unneeded Buffer allocations when &mut fmt::Write can be used directly
replace const eval limit by a lint and add an exponential backoff warning
suggest Option::as_deref(_mut) on type mismatch in option combinator if it passes typeck
miri: Tree Borrows (TB) diagnostics: avoid printing irrelevant events
miri: TB: improve error messages (distinguish between accesses and reborrows)
greatly decrease the size of rustc_driver.so when debuginfo is enabled
hashbrown: add support for rkyv serialization and deserialization
cargo: add message on reusing previous temporary path on failed cargo installs
cargo: emit error when users try to use a toolchain via the add or install command
clippy: allow_attributes, allow_attributes_without_reason: Ignore attributes from procedural macros
clippy: ptr_cast_constness: Only lint on casts which don't change type
clippy: unnecessary_lazy_eval: don't lint on types with deref impl
clippy: useless_conversion: pluralize if there are multiple .into_iter() calls
clippy: wildcard_imports Modules that contain prelude are also allowed
clippy: add lints for disallowing usage of to_xx_bytes and from_xx_bytes
clippy: ignore fix for from_over_into if the target type contains a Self reference
rust-analyzer: add mandatory panic contexts to all threadpool tasks
rust-analyzer: don't add --all-targets to runnables for no-std crates
rust-analyzer: add signature help for tuple patterns and expressions
rust-analyzer: fix Assist "replace named generic type with impl trait"
rust-analyzer: fix edits for convert_named_struct_to_tuple_struct
rust-analyzer: fix string pattern matching in mir interpreter
rust-analyzer: fix: add enum, reference, array and slice to render_const_scalar
rust-analyzer: fix: add render configs for memory layout hovers
rust-analyzer: fix: consider outer binders when folding captured items' type
rust-analyzer: fix: detect "bound more than once" error and suppress need-mut for it
rust-analyzer: fix: don't duplicate sysroot crates in rustc workspace
rust-analyzer: fix: emit '_ for lifetime generics in HirDisplay
rust-analyzer: fix nav target calculation discarding file ids from differing macro upmapping
rust-analyzer: support floating point intrinsics in const eval
Rusty Events between 2023-06-07 - 2023-07-05 🦀
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
(...) Rust developers usually are not just looking for "less buggy".
They are addicted to the clicky sound of legos.
Thanks to Jan Riemer 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