Skip to content

Commit 628827f

Browse files
authored
C/QotW and notable changes (#6768)
1 parent e3c35bc commit 628827f

File tree

1 file changed

+68
-3
lines changed

1 file changed

+68
-3
lines changed

draft/2025-06-25-this-week-in-rust.md

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

7575
## Crate of the Week
7676

77-
<!-- COTW goes here -->
77+
This week's crate is [primitive\_fixed\_point\_decimal](https://docs.rs/primitive_fixed_point_decimal), a crate of *real* fixed-point decimal types.
78+
79+
Thanks to [Wu Bingzheng](https://users.rust-lang.org/t/crate-of-the-week/2704/1445) for the self-suggestion!
7880

7981
[Please submit your suggestions and votes for next week][submit_crate]!
8082

@@ -137,7 +139,66 @@ If you are an event organizer hoping to expand the reach of your event, please s
137139

138140
## Updates from the Rust Project
139141

140-
<!-- Rust updates go here -->
142+
448 pull requests were [merged in the last week][merged]
143+
144+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-06-17..2025-06-24
145+
146+
#### Compiler
147+
* [perf: Cache the canonical *instantiation* of param-envs](https://github.com/rust-lang/rust/pull/142316)
148+
* [asyncDrop trait without sync Drop generates an error](https://github.com/rust-lang/rust/pull/142606)
149+
* [stabilize `generic_arg_infer`](https://github.com/rust-lang/rust/pull/141610)
150+
* [skip no-op drop glue](https://github.com/rust-lang/rust/pull/142508)
151+
152+
#### Library
153+
* [add `trim_prefix` and `trim_suffix` methods for both `slice` and `str` types](https://github.com/rust-lang/rust/pull/142331)
154+
* [allow comparisons between `CStr`, CString`, and Cow<CStr>`](https://github.com/rust-lang/rust/pull/137268)
155+
* [allow storing `format_args!()` in variable](https://github.com/rust-lang/rust/pull/140748)
156+
* [impl `Default` for `array::IntoIter`](https://github.com/rust-lang/rust/pull/141574)
157+
* [change `core::iter::Fuse`'s `Default` impl to do what its docs say it does](https://github.com/rust-lang/rust/pull/140985)
158+
* [let String pass `#[track_caller]` to its Vec calls](https://github.com/rust-lang/rust/pull/142728)
159+
* [safer implementation of RepeatN](https://github.com/rust-lang/rust/pull/130887)
160+
* [use a distinct `ToString` implementation for `u128` and `i128`](https://github.com/rust-lang/rust/pull/142294)
161+
162+
#### Cargo
163+
* [cargo: `feat(toml)`: Parse support for multiple build scripts](https://github.com/rust-lang/cargo/pull/15630)
164+
* [cargo: feat: introduce perma unstable `--compile-time-deps` option for `cargo build`](https://github.com/rust-lang/cargo/pull/15674)
165+
* [cargo: fix potential deadlock in `CacheState::lock`](https://github.com/rust-lang/cargo/pull/15698)
166+
167+
#### Rustdoc
168+
* [avoid a few more allocations in `write_shared.rs`](https://github.com/rust-lang/rust/pull/142667)
169+
* [rustdoc-json: keep empty generic args if parenthesized](https://github.com/rust-lang/rust/pull/142932)
170+
* [rustdoc: make srcIndex no longer a global variable](https://github.com/rust-lang/rust/pull/142100)
171+
172+
#### Clippy
173+
* [use jemalloc for Clippy](https://github.com/rust-lang/rust/pull/142286)
174+
* [perf: Don't spawn so many compilers (3/2) (19m → 250k)](https://github.com/rust-lang/rust-clippy/pull/15030)
175+
* [`Sugg`: do not parenthesize a double unary operator](https://github.com/rust-lang/rust-clippy/pull/14983)
176+
* [`or_fun_call`: lint more methods](https://github.com/rust-lang/rust-clippy/pull/15071)
177+
* [add missing space when expanding a struct-like variant](https://github.com/rust-lang/rust-clippy/pull/15096)
178+
* [check MSRV before suggesting applying `const` to a function](https://github.com/rust-lang/rust-clippy/pull/15080)
179+
* [emit lint about redundant closure on the closure node itself](https://github.com/rust-lang/rust-clippy/pull/14791)
180+
* [fix `branches_sharing_code` suggests misleadingly when in assignment](https://github.com/rust-lang/rust-clippy/pull/15076)
181+
* [fix `clippy::question_mark` on let-else with cfg](https://github.com/rust-lang/rust-clippy/pull/15082)
182+
* [fix `exhaustive_structs` false positive on structs with default valued field](https://github.com/rust-lang/rust-clippy/pull/15022)
183+
* [fix `manual_ok_err` suggests wrongly with references](https://github.com/rust-lang/rust-clippy/pull/15053)
184+
* [fix `non_copy_const` ICE](https://github.com/rust-lang/rust-clippy/pull/15083)
185+
* [fix `wildcard_enum_match_arm` suggests wrongly with raw identifiers](https://github.com/rust-lang/rust-clippy/pull/15093)
186+
* [fix false positive of `borrow_deref_ref`](https://github.com/rust-lang/rust-clippy/pull/14967)
187+
* [fix suggestion-causes-error of `empty_line_after_outer_attr`](https://github.com/rust-lang/rust-clippy/pull/15078)
188+
* [new lint: `manual_is_multiple_of`](https://github.com/rust-lang/rust-clippy/pull/14292)
189+
190+
#### Rust-Analyzer
191+
* [rust-analyzer: add `fn parent(self, db) → GenericDef` to `hir::TypeParam`](https://github.com/rust-lang/rust-analyzer/pull/20046)
192+
* [rust-analyzer: cleanup `folding_ranges` and support more things](https://github.com/rust-lang/rust-analyzer/pull/20080)
193+
* [rust-analyzer: do not default to 'static for trait object lifetimes](https://github.com/rust-lang/rust-analyzer/pull/20036)
194+
* [rust-analyzer: closure capturing for let exprs](https://github.com/rust-lang/rust-analyzer/pull/20039)
195+
* [rust-analyzer: fix cargo project manifest not pointing to the workspace root](https://github.com/rust-lang/rust-analyzer/pull/20069)
196+
* [rust-analyzer: in "Wrap return type" assist, don't wrap exit points if they already have the right type](https://github.com/rust-lang/rust-analyzer/pull/20061)
197+
* [rust-analyzer: respect `.cargo/config.toml build.target-dir`](https://github.com/rust-lang/rust-analyzer/pull/20072)
198+
* [rust-analyzer: temporarily disable `+` typing handler as it moves the cursor position](https://github.com/rust-lang/rust-analyzer/pull/20042)
199+
* [rust-analyzer: use `ROOT` hygiene for `args` inside new `format_args!` expansion](https://github.com/rust-lang/rust-analyzer/pull/20073)
200+
* [rust-analyzer: hide imported privates if private editable is disabled](https://github.com/rust-lang/rust-analyzer/pull/20025)
201+
* [rust-analyzer: mimic rustc's new `format_args!` expansion](https://github.com/rust-lang/rust-analyzer/pull/20056)
141202

142203
### Rust Compiler Performance Triage
143204

@@ -345,7 +406,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
345406

346407
# Quote of the Week
347408

348-
<!-- QOTW goes here -->
409+
> Our experience is that no matter how many safeguards you put on code, there’s no cure-all that prevents bad programming. Of course, to take the contrary argument, seat belts don’t stop all traffic fatalities, but you could just choose not to have accidents. So we do have seat belts. If Rust can prevent some mistakes or malicious intent, maybe it’s worth it even if it isn’t perfect.
410+
411+
[Al Williams on hackaday](https://hackaday.com/2025/06/21/if-your-kernel-development-is-a-little-rusty/)
412+
413+
Thanks to [Kill The Mule](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1700) for the suggestion!
349414

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

0 commit comments

Comments
 (0)