diff --git a/draft/2025-06-04-this-week-in-rust.md b/draft/2025-06-04-this-week-in-rust.md index 8cf57135c..617186c67 100644 --- a/draft/2025-06-04-this-week-in-rust.md +++ b/draft/2025-06-04-this-week-in-rust.md @@ -50,7 +50,9 @@ and just ask the editors to select the category. ## Crate of the Week - +This week's crate is [context-logger](https://github.com/alekseysidorov/context-logger), a lightweight, ergonomic library for adding structured context to your logs. + +Thanks to [Aleksey Sidorov](https://users.rust-lang.org/t/crate-of-the-week/2704/1440) for the self-suggestion! [Please submit your suggestions and votes for next week][submit_crate]! @@ -109,7 +111,71 @@ If you are an event organizer hoping to expand the reach of your event, please s ## Updates from the Rust Project - +529 pull requests were [merged in the last week][merged] + +[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-05-27..2025-06-03 + +#### Compiler + +* [fix spans for unsafe binders](https://github.com/rust-lang/rust/pull/141781) +* [PGO new solver](https://github.com/rust-lang/rust/pull/141453) +* [add additional `TypeFlags` fast paths](https://github.com/rust-lang/rust/pull/141581) +* [add fast path for maybe-initializedness in liveness](https://github.com/rust-lang/rust/pull/141667) + +#### Library + +* [redesign stage 0 std](https://github.com/rust-lang/rust/pull/119899) +* [implement `((un)checked_)exact_div` methods for integers](https://github.com/rust-lang/rust/pull/141237) +* [add Range parameter to `BTreeMap::extract_if` and `BTreeSet::extract_if`](https://github.com/rust-lang/rust/pull/140825) +* [add `CStr::display`](https://github.com/rust-lang/rust/pull/139994) +* [add `Result::map_or_default` and `Option::map_or_default`](https://github.com/rust-lang/rust/pull/141659) +* [add `From` for `io::Error`](https://github.com/rust-lang/rust/pull/141312) +* [add `const` support for float rounding methods](https://github.com/rust-lang/rust/pull/141521) +* [add `data_ptr` method to Mutex and RwLock](https://github.com/rust-lang/rust/pull/140369) + +#### Cargo + +* [trim-paths: remap all paths to `build.build-dir`](https://github.com/rust-lang/cargo/pull/15614) +* [fix cargo add overwriting symlinked Cargo.toml files](https://github.com/rust-lang/cargo/pull/15281) + +#### Rustdoc + +* [cleanups relating to allocations](https://github.com/rust-lang/rust/pull/141573) +* [display `doc(cfg(false))` properly](https://github.com/rust-lang/rust/pull/141747) +* [linking to a local proc macro no longer warns](https://github.com/rust-lang/rust/pull/141411) +* [use descriptive tooltip if doctest is conditionally ignored](https://github.com/rust-lang/rust/pull/141517) + +#### Clippy + +* [`explicit_deref_methods`: do not lint on method chains](https://github.com/rust-lang/rust-clippy/pull/14921) +* [`needless_return`: look inside `else if` parts as well](https://github.com/rust-lang/rust-clippy/pull/14798) +* [`while_let_loop`: Include `let` assignment in suggestion](https://github.com/rust-lang/rust-clippy/pull/14756) +* [add lint `infallible_try_from`](https://github.com/rust-lang/rust-clippy/pull/14813) +* [clean-up `modulo_arithmetic`](https://github.com/rust-lang/rust-clippy/pull/14898) +* [extend `manual_is_variant_and lint` to check for boolean map comparisons](https://github.com/rust-lang/rust-clippy/pull/14646) +* [fix `dbg_macro` fail to handle async coroutine desugar](https://github.com/rust-lang/rust-clippy/pull/14937) +* [fix `semicolon_outside_block` suggests wrongly when inside macros](https://github.com/rust-lang/rust-clippy/pull/14954) +* [improve wording of `manual_contains` docs](https://github.com/rust-lang/rust-clippy/pull/14917) +* [new restriction lint: `pointer_format`](https://github.com/rust-lang/rust-clippy/pull/14792) +* [optimize `unit_return_expecting_ord`](https://github.com/rust-lang/rust-clippy/pull/14905) +* [use interned symbols instead of strings in more places](https://github.com/rust-lang/rust-clippy/pull/14855) + +#### Rust-Analyzer + +* [account for `Generate` actions when filtering the allowed ones](https://github.com/rust-lang/rust-analyzer/pull/19899) +* [add a quickfix for accessing a private field of a `struct`](https://github.com/rust-lang/rust-analyzer/pull/19869) +* [add support for type-erased `Semantics<'db, dyn HirDatabase>`, by use of `DB: ?Sized`](https://github.com/rust-lang/rust-analyzer/pull/19850) +* [enable assist edit for `tuple<->named struct` for the `struct` and visiblity keywords](https://github.com/rust-lang/rust-analyzer/pull/19901) +* [desugar assist for `let pat = expr?;` → `let else`](https://github.com/rust-lang/rust-analyzer/pull/19881) +* [enhance renaming to include identifier variations that are generated by macros](https://github.com/rust-lang/rust-analyzer/pull/19893) +* [render padding information when hovering on structs](https://github.com/rust-lang/rust-analyzer/pull/19876) +* [cycle handlers for `HirDatabase::infer, const_param_ty_with_diagnostics`](https://github.com/rust-lang/rust-analyzer/pull/19894) +* [fix IDE layer not resolving some macro calls](https://github.com/rust-lang/rust-analyzer/pull/19879) +* [fix import insertion not being fully cfg aware](https://github.com/rust-lang/rust-analyzer/pull/19890) +* [fix inference of `AsyncFnX` return type](https://github.com/rust-lang/rust-analyzer/pull/19872) +* [handle included files better in IDE layer](https://github.com/rust-lang/rust-analyzer/pull/19880) +* [recognize salsa cycles in `thread_result_to_response`](https://github.com/rust-lang/rust-analyzer/pull/19888) +* [skip pattern analysis on type mismatches](https://github.com/rust-lang/rust-analyzer/pull/19875) ### Rust Compiler Performance Triage @@ -314,7 +380,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE) # Quote of the Week - +> Rust-based Python type checkers are like buses - you wait ages for one and then two come along at once. + +– [u/fiddle_n on r/rustjerk](https://www.reddit.com/r/rustjerk/comments/1kx8uk8/comment/muns9to) + +Thanks to [Brian Kung](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1695) for the suggestion! [Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)