2023-10-04
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 loole, another multiple-producer multiple-consumer channel.
Thanks to Mahdi Shojaee for the self-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.
upgrade::transfer moduleockam enroll project configuration step by warning user not to exit processockam space create by add missing argument --identity (clap command)ockam enroll argument --identity (clap command)If you are a Rust project owner and are looking for contributors, please submit tasks here.
358 pull requests were merged in the last week
correct codegen of ConstValue::Indirect scalar and scalar pair
expose try_destructure_mir_constant_for_diagnostics directly to clippy
lint towards rejecting consts in patterns that do not implement PartialEq
make link_llvm_intrinsics and platform_intrinsics features internal
more fixes for running the test suite on a bare metal target
only prevent field projections into opaque types, not types containing opaque types
point at more causes of expectation of break value when possible
properly print cstr literals in proc_macro::Literal::to_string
simplify some of the logic in the invalid_reference_casting lint
skip MIR pass UnreachablePropagation when coverage is enabled
stabilize combining +bundle and +whole-archive link modifiers
use placeholders to prevent using inferred RPITIT types to imply their own well-formedness
implement From<OwnedFd/Handle> for ChildStdin/out/err object
cargo: add better suggestion for the unsupported silent flag
cargo: add missing strip entries in dev and release profiles
cargo: use full target spec for cargo rustc --print --target
rustdoc: speed up processing of cross-crate fns to fix a perf regression
clippy: manual_let_else: only omit block if span is from same ctxt
clippy: write_literal: Fix index of the remaining positional arguments
clippy: do not lint wildcard_imports when imported item contains underscore
clippy: don't lint manual_non_exhaustive when enum is #[non_exhaustive]
clippy: mention that missing_assert_message lint ignores test functions
rust-analyzer: allow more kinds of if let patterns in guarded return assist
rust-analyzer: make bool_to_enum assist create enum at top-level
rust-analyzer: make rustc_layout_scalar_valid_range attributes work for non-decimal literals
rust-analyzer: panic with wrapping/unwrapping result return type assists
rust-analyzer: recover better on missing parameter in param list
rust-analyzer: strip base prefix in layout_scalar_valid_range
rust-analyzer: typing underscore should not trigger completions in types or patterns
Rusty Events between 2023-10-04 - 2023-11-01 🦀
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
I've been writing Rust code everyday for years, and I used to say Rust wasn't great for writing prototypes because if forced you to ask yourself many questions that you may want to avoid at that time.
I recently realized this is all wrong: you can write Rust pretty much as fast as you can write code in any other language, with a meaningful difference: with a little discipline it's easy to make the rough edges obvious so you can sort them out later.
There was no suggestion this week, but llogiq is pleased with his choice nonetheless!
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