2023-09-06
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 str0m, a synchronous sans-IO WebRTC implementation.
Thanks to Hugo Tunius 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.
ockam tcp-outlet createIf you are a Rust project owner and are looking for contributors, please submit tasks here.
357 pull requests were merged in the last week
adapt table sizes to the contents, accommodating u64 rmeta offsets
add ParallelGuard type to handle unwinding in parallel sections
add note on non-exhaustiveness when matching on str and nested non-exhaustive enums
also skip musl checks when BOOTSTRAP_SKIP_TARGET_SANITY is set
capture all lifetimes for TAITs and impl trait in associated types
capture lifetimes for associated type bounds destined to be lowered to opaques
replace old private-in-public diagnostic with type privacy lints
skip rendering metadata strings from include_str!/include_bytes!
work around ICE in diagnostics for local super-universes missing UniverseInfos
don't manually compute param indices when adding implicit Sized and ConstParamHasTy
don't suggest adding parentheses to call an inaccessible method
make get_return_block() return Some only for HIR nodes in body
miri ABI check: fix handling of 1-ZST; don't accept sign differences
miri function ABI check: accept repr(transparent) wrappers as compatible
miri/diagnostics: don't forget to print_backtrace when ICEing on unexpected errors
optimize Take::{fold, for_each} when wrapping TrustedRandomAccess iterators
regex: upgrade to memchr 2.6 to bring in aarch64 improvements
codegen_gcc: only apply NoAlias attribute if optimization is enabled
cargo: add error for unsupported credential provider version
cargo: test: new options of debuginfo are no longer unstable
rustdoc: correctly deal with self ty params when eliding default object lifetimes
clippy: implied_bounds_in_impls: don't ICE on default generic parameter and move to nursery
clippy: don't pass extra generic arguments in needless_borrow
clippy: fix span when linting explicit_auto_deref immediately after needless_borrow
rustfmt: fix: reject leading ., ) without prefix as item marker
Rusty Events between 2023-09-06 - 2023-10-04 🦀
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
Rusts standard library, and a lot of the popular crates, are like a museum. While it does change, as new exhibitions are added, it is mostly finished. Each painting has a detailed explanation in 7 different languages underneath. Descriptions below each excitation are written beautifully, with detailed drawings, showing how everything works. It is so easy to navigate, one glance at the map is enough to find exactly what you are looking for. It is so convenient, you almost don't notice that you are learning something.
Internals of
rustcare like a build site of a sprawling factory. You can see the scaffolds everywhere, as more production lines come online, and everything gets faster, better, bigger. Workers move around, knowing the place like the back of their hands. They can glance at the signs on the walls, and instantly tell you: where you are, what this place does and what pitfalls you should avoid. And you are a new hire who has just came for his first day at the new job. You look at the sign, and after some thinking, you too are able to tell roughly in which building you are. The signs almost always tell you what you need, just in short, cryptic sentences. You always can tell what is going on, with some thinking, but it is not effortless. The signs on the walls are not bad, just not written for anyone to get right away.
Thanks to Alona Enraght-Moony 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