Skip to content

Commit c12b96a

Browse files
Merge pull request #6975 from llogiq/twir-615
C/QotW and notable changes
2 parents ebf6e3a + 035753e commit c12b96a

File tree

1 file changed

+54
-3
lines changed

1 file changed

+54
-3
lines changed

draft/2025-09-03-this-week-in-rust.md

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ and just ask the editors to select the category.
6363

6464
## Crate of the Week
6565

66-
<!-- COTW goes here -->
66+
This week's crate is [aehobak](https://crates.io/crates/aehobak), a transcoder for bsdiff binary patches.
67+
68+
Thanks to [David Michael Barr](https://users.rust-lang.org/t/crate-of-the-week/2704/1465) for the suggestion!
6769

6870
[Please submit your suggestions and votes for next week][submit_crate]!
6971

@@ -123,7 +125,50 @@ If you are an event organizer hoping to expand the reach of your event, please s
123125

124126
## Updates from the Rust Project
125127

126-
<!-- Rust updates go here -->
128+
383 pull requests were [merged in the last week][merged]
129+
130+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-08-26..2025-09-02
131+
132+
#### Compiler
133+
* [detect missing `if let` or `let-else`](https://github.com/rust-lang/rust/pull/145582)
134+
* [fix `#[loop_match]` on diverging loop](https://github.com/rust-lang/rust/pull/144783)
135+
136+
#### Library
137+
* [add `Bound::copied`](https://github.com/rust-lang/rust/pull/145968)
138+
* [add `Duration::from_nanos_u128`](https://github.com/rust-lang/rust/pull/145969)
139+
* [add `Option::reduce`](https://github.com/rust-lang/rust/pull/144274)
140+
* [implement Sum and Product for `Saturating(u*)`](https://github.com/rust-lang/rust/pull/144275)
141+
* [implementation: `#[feature(nonpoison_condvar)]`](https://github.com/rust-lang/rust/pull/144651)
142+
* [optimize `.ilog({2,10})` to `.ilog{2,10}()`](https://github.com/rust-lang/rust/pull/145776)
143+
* [str: stabilize `round_char_boundary` feature](https://github.com/rust-lang/rust/pull/145756)
144+
145+
#### Cargo
146+
* [`fix(cli)`: Show the bad manifest path](https://github.com/rust-lang/cargo/pull/15896)
147+
* [add more context to publish-failed error message](https://github.com/rust-lang/cargo/pull/15879)
148+
* [feat: don't stop at first error when emitting lints and warnings](https://github.com/rust-lang/cargo/pull/15889)
149+
150+
#### Clippy
151+
* [`map_identity`: suggest making the variable mutable when necessary](https://github.com/rust-lang/rust-clippy/pull/15268)
152+
* [`unit_cmp`: don't lint on explicitly written unit expr](https://github.com/rust-lang/rust-clippy/pull/15562)
153+
* [allow `--print=crate-root-lint-levels`](https://github.com/rust-lang/rust-clippy/pull/15567)
154+
* [`assertions_on_result_states` avoid changing return type in more cases](https://github.com/rust-lang/rust-clippy/pull/15591)
155+
* [`collapsible_match` suggest ref/derefs when needed](https://github.com/rust-lang/rust-clippy/pull/14221)
156+
* [enable `clippy::panic` in const contexts](https://github.com/rust-lang/rust-clippy/pull/15565)
157+
* [fix false positive of `needless_range_loop` when meeting multidimensional array](https://github.com/rust-lang/rust-clippy/pull/15486)
158+
* [fix `alloc_instead_of_core` false positive when `alloc` is an alias](https://github.com/rust-lang/rust-clippy/pull/15581)
159+
* [fix `needless_for_each` suggesting wrongly with explicit closure input types](https://github.com/rust-lang/rust-clippy/pull/15595)
160+
* [fix `print_literal` suggesting wrongly for inline literal following a numbered arg](https://github.com/rust-lang/rust-clippy/pull/15583)
161+
* [fix `redundant_closure` suggests wrongly with deref overload](https://github.com/rust-lang/rust-clippy/pull/15077)
162+
* [supress `excessive_precision` when constants are overly precise](https://github.com/rust-lang/rust-clippy/pull/15193)
163+
164+
#### Rust-Analyzer
165+
* [add progress bars to more places in analysis-stats](https://github.com/rust-lang/rust-analyzer/pull/20560)
166+
* [attach the db in one more place in highlighting](https://github.com/rust-lang/rust-analyzer/pull/20553)
167+
* [avoid `--target` option being given twice to `rustc` when invoked through `cargo rustc` while fetching target data layout](https://github.com/rust-lang/rust-analyzer/pull/20579)
168+
* [deduplicate methods in completion by function ID and not by name](https://github.com/rust-lang/rust-analyzer/pull/20587)
169+
* [in `highlight_related,` when on an unsafe block, don't highlight unsafe operations of other unsafe blocks](https://github.com/rust-lang/rust-analyzer/pull/20547)
170+
* [when mapping next-solver's `dyn` type, add `Self` (aka. bound var ^1.0) to auto traits' substitutions](https://github.com/rust-lang/rust-analyzer/pull/20563)
171+
* [cache trait solving across queries in the same revision](https://github.com/rust-lang/rust-analyzer/pull/20527)
127172

128173
### Rust Compiler Performance Triage
129174

@@ -325,7 +370,13 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
325370

326371
# Quote of the Week
327372

328-
<!-- QOTW goes here -->
373+
> Bugs like this are the worst! It's almost impossible to catch them in development, because there is never enough load on the system to force the scheduler to move the execution to another thread. So, you end up with one of these "impossible to reproduce, fails sometimes, but never for you" bugs.
374+
>
375+
> It's mind-blowingly cool that the Rust compiler can detect something like this. And that seemingly unrelated parts of the language, like mutexes, lifetimes and async operations form such a coherent system.
376+
377+
[Bernard Kolobara on their blog](https://lubeno.dev/blog/rusts-productivity-curve)
378+
379+
Thanks to [llogiq](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1711) for the suggestion!
329380

330381
[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)
331382

0 commit comments

Comments
 (0)