Skip to content

Commit ca14a2a

Browse files
committed
C/QotW and notable changes
1 parent 614c753 commit ca14a2a

File tree

1 file changed

+65
-3
lines changed

1 file changed

+65
-3
lines changed

draft/2025-07-23-this-week-in-rust.md

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

5151
## Crate of the Week
5252

53-
<!-- COTW goes here -->
53+
This week's crate is [index\_permute](https://crates.io/crates/index_permute), a library for in-place clone-less permutation on mutable slices.
54+
55+
Despite a lack of suggestions this week, llogiq is fairly pleased with his choice.
5456

5557
[Please submit your suggestions and votes for next week][submit_crate]!
5658

@@ -132,7 +134,63 @@ If you are an event organizer hoping to expand the reach of your event, please s
132134

133135
## Updates from the Rust Project
134136

135-
<!-- Rust updates go here -->
137+
425 pull requests were [merged in the last week][merged]
138+
139+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-07-15..2025-07-22
140+
141+
#### Compiler
142+
* [parse `const trait Trait`](https://github.com/rust-lang/rust/pull/143879)
143+
* [unify `CoroutineWitness` sooner in typeck, and stall coroutine obligations based off of `TypingEnv`](https://github.com/rust-lang/rust/pull/141762)
144+
* [miri: add support for global constructors (i.e. life before main)](https://github.com/rust-lang/miri/pull/4459)
145+
* [miri: non-deterministically truncate reads/writes](https://github.com/rust-lang/miri/pull/4481)
146+
147+
#### Library
148+
* [add experimental `backtrace-trace-only` std feature](https://github.com/rust-lang/rust/pull/143910)
149+
* [add `uX::strict_sub_signed`](https://github.com/rust-lang/rust/pull/143282)
150+
* [constify Try, From, TryFrom and relevant traits](https://github.com/rust-lang/rust/pull/143768)
151+
* [constify `Index` traits](https://github.com/rust-lang/rust/pull/143921)
152+
* [constify `Option` methods](https://github.com/rust-lang/rust/pull/143967)
153+
* [make slice comparisons const](https://github.com/rust-lang/rust/pull/143925)
154+
* [stabilize `const_float_round_methods`](https://github.com/rust-lang/rust/pull/143604)
155+
* [stabilize `const_slice_reverse`](https://github.com/rust-lang/rust/pull/143382)
156+
157+
#### Cargo
158+
* [expose artifact dependency getters in cargo-as-a-library](https://github.com/rust-lang/cargo/pull/15753)
159+
160+
#### Rustdoc
161+
* [Make aliases search support partial matching](https://github.com/rust-lang/rust/pull/143988)
162+
163+
#### Clippy
164+
* [`unsafe_derive_deserialize`: do not consider `pin!()` as `unsafe`](https://github.com/rust-lang/rust-clippy/pull/15137)
165+
* [don't trigger `unused_trait_names` in macros](https://github.com/rust-lang/rust-clippy/pull/14947)
166+
* [fix `empty_with_brackets` span handling](https://github.com/rust-lang/rust-clippy/pull/15311)
167+
* [fix `filter_map_bool_then` wrongly suggests macro definitions](https://github.com/rust-lang/rust-clippy/pull/15048)
168+
* [fix `missing_inline_in_public_items` false positive on functions with `extern`](https://github.com/rust-lang/rust-clippy/pull/15313)
169+
* [fix `needless_range_loop` false positive on array literals](https://github.com/rust-lang/rust-clippy/pull/15314)
170+
* [fix `never_loop` forget to remove `break` in suggestion](https://github.com/rust-lang/rust-clippy/pull/15064)
171+
* [fix `ptr_arg` suggests changes when it's actually better not to bother](https://github.com/rust-lang/rust-clippy/pull/15105)
172+
* [fix `ptr_as_ptr` suggests wrongly with turbo fish](https://github.com/rust-lang/rust-clippy/pull/15289)
173+
* [fix capacity overflow in `single_match` with deref patterns](https://github.com/rust-lang/rust-clippy/pull/15124)
174+
* [fix false positive in `useless_attribute` with `redundant_imports`](https://github.com/rust-lang/rust-clippy/pull/15318)
175+
* [fix: ignore `pattern_type_mismatch` when external macro owns the match](https://github.com/rust-lang/rust-clippy/pull/15306)
176+
* [`large_enum_variant`: dont suggest `Box` in `no_std` mode](https://github.com/rust-lang/rust-clippy/pull/15241)
177+
* [propose to exchange ranges only when it is safe to do so](https://github.com/rust-lang/rust-clippy/pull/14432)
178+
* [various improvements to the `incompatible_msrv` lint](https://github.com/rust-lang/rust-clippy/pull/14433)
179+
* [warn about `const` instability wrt MSRV](https://github.com/rust-lang/rust-clippy/pull/15297)
180+
* [warn about types not meeting MSRV](https://github.com/rust-lang/rust-clippy/pull/15296)
181+
182+
#### Rust-Analyzer
183+
* [add AsMut to minicore `prelude::v1`](https://github.com/rust-lang/rust-analyzer/pull/20246)
184+
* [add `AsRef` and `Borrow` for `generate_mut_trait_impl`](https://github.com/rust-lang/rust-analyzer/pull/19917)
185+
* [add `Deref``DerefMut` for `generate_mut_trait_impl`](https://github.com/rust-lang/rust-analyzer/pull/20256)
186+
* [add ide-assist, generate single field `struct` `From`](https://github.com/rust-lang/rust-analyzer/pull/19783)
187+
* [add tailexpr `&``&mut` for `generate_mut_trait_impl`](https://github.com/rust-lang/rust-analyzer/pull/20247)
188+
* [support `cfg_select!`](https://github.com/rust-lang/rust-analyzer/pull/20265)
189+
* [ide-assist: generate Deref transitive](https://github.com/rust-lang/rust-analyzer/pull/20255)
190+
* [apply adjusts to pats and exprs when doing pat analysis](https://github.com/rust-lang/rust-analyzer/pull/20273)
191+
* [disable tests in flycheck if `cfg.setTest` is set to false](https://github.com/rust-lang/rust-analyzer/pull/20271)
192+
* [fix search of raw labels and lifetimes](https://github.com/rust-lang/rust-analyzer/pull/20262)
193+
* [infer lifetimes for GATs in expression/pattern position](https://github.com/rust-lang/rust-analyzer/pull/20238)
136194

137195
### Rust Compiler Performance Triage
138196

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

296354
# Quote of the Week
297355

298-
<!-- QOTW goes here -->
356+
> In a way, \[the\] borrow checker also makes interfaces simpler. The rules may be restrictive, but the same rules apply to everything everywhere. I can learn them once, and then know what to expect from every API using references. There are no exceptions in libraries that try to be clever. There are no exceptions for single-threaded programs. There are no exceptions for DLLs. There are no exceptions for programs built with -fpointers-go-sideways. It may be tricky like a game of chess, but I only need to consider the rules of the game, and not odd stuff like whether my opponent glued pieces to the chessboard.
357+
358+
[Kornel Lesiński on hacker news](https://news.ycombinator.com/item?id=44620667)
359+
360+
Thanks to [danjl1100](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1707) for the suggestion!
299361

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

0 commit comments

Comments
 (0)