2023-03-29
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. If you find any errors in this week's issue, please submit a PR.
scoped-trace.This week's crate is typst, a modern LaTeX replacement.
Thanks to H2CO3 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.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
398 pull requests were merged in the last week
add dist.compression-profile option to control compression speed
deeply check well-formedness of return-position impl Trait in trait
enforce non-lifetime-binders in supertrait preds are not object safe
fix bad suggestion for clone/is_some in field init shorthand
make alias-eq have a relation direction (and rename it to alias-relate)
new solver: make all goal evaluation able to be automatically rerun
only implement Fn* traits for extern "Rust" safe function pointers and items
split execute_job into execute_job_incr and execute_job_non_incr
walk un-shifted nested impl Trait in trait when setting up default trait method assumptions
miri: correctly quote env vars in single quoted string in bash
drop all messages in bounded channel when destroying the last receiver
stdarch: mark more arm_shared intrinsics and types as stable in docs
rustdoc: add support for type filters in arguments and generics
rustdoc: handle generics better when matching notable traits
rustdoc: remove redundant .content prefix from span/a colors
clippy: do not propose to remove async move if variables are captured by ref
clippy: do not propose to simplify a not expression coming from a macro
clippy: fix cast_possible_truncation offering wrong suggestion for casting float to integer
clippy: wrap transmutes_expressible_as_ptr_casts suggestions in parentheses
rust-analyzer: don't escape double hashes outside of Rust code blocks
rust-analyzer: fix proc-macro paths using incorrect CrateId's for rust-project.json workspaces
rust-analyzer: fix renames of locals being broken in macro calls
Rusty Events between 2023-03-29 - 2023-04-26 🦀
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
As part of this work, I even found two memory safety bugs in the DRM scheduler component that were causing kernel oopses for Alyssa and other developers, so the Rust driver work also benefits other kernel drivers that use this shared code! Meanwhile, I still haven't gotten any reports of kernel oopses due to bugs in the Rust code at all.
– Asahi Lina on the Asahi Linux blog
llogiq is patting himself on the back 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