2023-09-27
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.
no_std: ?no_problemThis week's crate is async_fn_traits, a crate with async function traits to enable using higher ranked trait bounds in async functions.
Thanks to kornel 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.
custom-clippy alias with workspace-wide [lints] configurationRwStreamSink an implementation detail of the memory transportockam status clap command should provide more user friendly information when a user is not enrolledockam status clap command should provide more user friendly information when a user is enrolledockam enroll ----help clap command text by adding doc comment for verbose flagIf you are a Rust project owner and are looking for contributors, please submit tasks here.
402 pull requests were merged in the last week
rustc_target/loongarch: Fix passing of transparent unions with only one non-ZST member
rustc_target/riscv: Fix passing of transparent unions with only one non-ZST member
rustc_hir_analysis: add a helper to check function the signature mismatches
add Zba, Zbb, and Zbs as target features for riscv64-linux-android
check that closure/generator's interior/capture types are sized
correctly deny late-bound lifetimes from parent in anon consts and TAITs
coverage: don't bother renumbering expressions on the Rust side
coverage: fix an unstable-sort inconsistency in coverage spans
detect cycle errors hidden by opaques during monomorphization
diagnostics: avoid mismatch between variance index and hir generic
don't ICE when no bound vars found while doing closure hir type check
don't resolve generic impls that may be shadowed by dyn built-in impls
fall back to _SC_NPROCESSORS_ONLN if sched_getaffinity returns an empty mask
fall back to the unoptimized implementation in read_binary_file if File::metadata lies
fix ui-fulldeps --stage=1 with -Zignore-directory-in-diagnostics-source-blocks
give FutureIncompatibilityReason variants more explicit names
improve invalid UTF-8 lint by finding the expression initializer
interpret: more consistently use ImmTy in operators and casts
pass name of object file to LLVM so it can correctly emit S_OBJNAME in pdb files on Windows
tweak expected message to explain what it's actually signifying
miri: issue discovered in TB: spurious reads are not (yet) possible in a concurrent setting
miri: move llvm.x86.* shims into shims::x86 and implement _addcarry_u32 and _subborrow_u{32,64}
panic when encountering an illegal cpumask in thread::available_parallelism
cargo: better suggestion for redundant mode in build and install commands
cargo: cargo add displays either feature list or summarized count
cargo: fix: use channel-specific link for registry auth error
rustdoc: correctly render the return type of cross-crate async fns
clippy: redundant_guards: lint if the pattern is on the left side
clippy: change defaults of accept-comment-above-statement and accept-comment-above-attributes
clippy: fix mutably used async function argument in closure for needless_pass_by_ref_mut
clippy: fixed caused by moving &mut reference inside of a closure
clippy: prevent ice when threshold is 0 and enum has no variants
rust-analyzer: add option to show full function signatures in completion docs
rust-analyzer: do not resolve inlayHint.textEdit for VSCode client
rust-analyzer: fix autoimport does nothing when importing trait that is as _ imports
rust-analyzer: fix inlining closures from local variables and functions
rust-analyzer: give unmerge_use a label explaining what it will affect
Rusty Events between 2023-09-27 - 2023-10-25 🦀
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
The problem with Rust it appears,
that it leaves programmers in tears
if they have to go back
to languages that lack
in short they've got feature-arrears.
Thanks to Frank Steffahn 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