2024-01-31
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 Apache Iceberg Rust, a Rust implementation of a table format for huge analytic datasets.
Thanks to Renjie Liu 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.
join_path for more elegant codeMetaPeerClientRef to enhance GreptimeDB's stabilityockam project ticket is improved and information is not opaqueockam project ticket and ockam project enroll is improved, with support for --output jsonIf you are a Rust project owner and are looking for contributors, please submit tasks here.
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
No Calls for papers were submitted this week.
If you are an event organizer hoping to expand the reach of your event, please submit a link to the submission website through a PR to TWiR.
409 pull requests were merged in the last week
pattern_analysis: let ctor_sub_tys return any Iterator they want
pattern_analysis: reuse most of the DeconstructedPat Debug impl
add #[coverage(off)] to closures introduced by #[test] and #[bench]
add the unstable option to reduce the binary size of dynamic library…
classify closure arguments in refutable pattern in argument error
coverage: dismantle Instrumentor and flatten span refinement
coverage: don't instrument #[automatically_derived] functions
do not normalize closure signature when building FnOnce shim
don't call walk_ functions directly if there is an equivalent visit_ method
don't fire OPAQUE_HIDDEN_INFERRED_BOUND on sized return of AFIT
emit suggestion when trying to write exclusive ranges as ..<
make #![allow_internal_unstable(..)] work with stmt_expr_attributes
modify GenericArg and Term structs to use strict provenance rules
split Diagnostics for Uncommon Codepoints: Add List to Display Characters Involved
use assert_unchecked instead of assume intrinsic in the standard library
interpret: project_downcast: do not ICE for uninhabited variants
return a finite number of AllocIds per ConstAllocation in Miri
cargo: refactor: remove unnecessary Option in Freshness::Dirty
clippy: false positive: needless_return_with_question_mark with implicit Error Conversion
clippy: redundant_closure_for_method_calls Suggest relative paths for local modules
clippy: multiple_crate_versions: add a configuration option for allowed duplicate crates
clippy: avoid linting redundant closure when callee is marked #[track_caller]
clippy: don't warn about modulo arithmetic when comparing to zero
clippy: assert* in multi-condition after unrolling will cause lint nonminimal_bool emit warning
clippy: fix incorrect suggestions generated by manual_retain lint
clippy: false positive in redundant_closure_call when closures are passed to macros
clippy: suggest existing configuration option if one is found
clippy: warn if an item coming from more recent version than MSRV is used
rust-analyzer: filter out cfg-disabled fields when lowering record patterns
Rusty Events between 2024-01-31 - 2024-02-28 🦀
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 sheer stability of this program is what made me use rust for everything going forward. The social-service has a 100% uptime for almost 2.5 years now. It’s processed 12.9TB of traffic and is still using 1.5mb of ram just like the day we ran it 2.5 years ago. The resource usage is so low it brings tears to my eyes. As someone who came from Java, the lack of OOM errors or GC problems has been a huge benefit of rust and I don’t ever see myself using any other programming language. I’m a big fan of the mindset “build it once, but build it the right way” which is why rust is always my choice.
Thanks to Brian Kung 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