2023-05-03
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.
This week's crate is script-macro, an experimental way of writing simple proc-macros inline.
Thanks you to Markus Unterwaditzer 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.
RedisPoolConnection closefrom_str function of strum#[ockam::node] macro doesn't handle returned errors 1identity commands 2If you are a Rust project owner and are looking for contributors, please submit tasks here.
Calls for Proposals
Open calls for submissions to conferences and meetups.
If you are an event organizer and would like to have your Call for Proposals listed here, please submit a PR.
390 pull requests were merged in the last week
improve niche placement by trying two strategies and picking the better result
make sure that some stdlib method signatures aren't accidental refinements
provide better type hints when a type doesn't support a binary operator
sprinkle some #[inline] in rustc_data_structures::tagged_ptr
suggest deref on comparison binop RHS even if type is not Copy
hashbrown: remove lifetime on RawIterHash, for more flexibility & to match RawIter
cargo: warn instead of error in cargo package on empty readme or license-file in manifest
clippy: don't apply string_lit_as_bytes if in macro expansion
clippy: fix items_after_test_module: Ignore imported modules
rust-analyzer: deduplicate crates when extending crate graphs
rust-analyzer: fix restart server button trying to start instead of restart the server
rust-analyzer: fix status command panicking when additional LRU caches are set up
rust-analyzer: force InitializeParams windows path drives to uppercase
rust-analyzer: handle nested types in unwrap_result_return_type assist
rust-analyzer: remove proc-macro server command from the rust-analyzer binary
Rusty Events between 2023-05-03 - 2023-05-31 🦀
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
Since it hasn't been said before, there is an important distinction that needs to be addressed. For anyone who has been doing embedded work for any length of time and hasn't yet been exposed to Rust, the only thing that can really be said is that the language is entirely unlike everything you've experienced before. There is just nothing comparable, and the only way to rationalize questions like why use Rust at all is to put some honest effort into learning and using it.
Hearing things like "it's a bit like C++ except it's memory safe and thread safe, and it's actually practical to build kernels with it" will not sound convincing. You have to see it to believe it.
It's as if you've spent an entire career writing assembly, and one day you hear something or other about a brand-new programming language claiming to be a "portable assembler" called C. It sounds too good to be true. And then the years pass, and all of the mystery and disbelief gives way to obviousness and precision engineering. That's sort of how it is when going from C to Rust.
Thanks to Michael Bryan 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