Skip to content

Commit 76e98c3

Browse files
committed
C/QotW and notable changes
1 parent 6c75c1b commit 76e98c3

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
@@ -52,7 +52,9 @@ and just ask the editors to select the category.
5252

5353
## Crate of the Week
5454

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

5759
[Please submit your suggestions and votes for next week][submit_crate]!
5860

@@ -115,7 +117,66 @@ If you are an event organizer hoping to expand the reach of your event, please s
115117

116118
## Updates from the Rust Project
117119

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

120181
### Rust Compiler Performance Triage
121182

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

335396
# Quote of the Week
336397

337-
<!-- QOTW goes here -->
398+
> 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.
399+
400+
[Al Williams on hackaday](https://hackaday.com/2025/06/21/if-your-kernel-development-is-a-little-rusty/)
401+
402+
Thanks to [Kill The Mule](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1700) for the suggestion!
338403

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

0 commit comments

Comments
 (0)