Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 73 additions & 3 deletions draft/2025-06-04-this-week-in-rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ and just ask the editors to select the category.

## Crate of the Week

<!-- COTW goes here -->
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]!

Expand Down Expand Up @@ -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

<!-- Rust updates go here -->
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<TryLockError>` 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

Expand Down Expand Up @@ -314,7 +380,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)

# Quote of the Week

<!-- QOTW goes here -->
> 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)

Expand Down