Skip to content

Commit 05bf1e6

Browse files
authored
Merge pull request rust-lang#6837 from llogiq/twir-609
C/QotW and notable changes
2 parents ac252d5 + ca14a2a commit 05bf1e6

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

6868
## Crate of the Week
6969

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

7274
[Please submit your suggestions and votes for next week][submit_crate]!
7375

@@ -126,7 +128,63 @@ If you are an event organizer hoping to expand the reach of your event, please s
126128

127129
## Updates from the Rust Project
128130

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

131189
### Rust Compiler Performance Triage
132190

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

299357
# Quote of the Week
300358

301-
<!-- QOTW goes here -->
359+
> 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.
360+
361+
[Kornel Lesiński on hacker news](https://news.ycombinator.com/item?id=44620667)
362+
363+
Thanks to [danjl1100](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1707) for the suggestion!
302364

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

0 commit comments

Comments
 (0)