@@ -46,18 +46,24 @@ and just ask the editors to select the category.
46
46
### Project/Tooling Updates
47
47
48
48
* [ StrongBox: Simple, Safe Data Encryption for Rust] ( https://www.hezmatt.org/~mpalmer/blog/2025/08/27/strong-box-simple-safe-data-encryption-for-rust.html )
49
+ * [ Danube Messaging- Release 0.4.0 - Highlights] ( https://dev-state.com/posts/danube_update_040/ )
49
50
50
51
### Observations/Thoughts
51
52
53
+ * [ audio] [ Netstack.FM — Episode 2: Hyper with Sean McArthur] ( https://netstack.fm/#episode-2 )
54
+
52
55
### Rust Walkthroughs
56
+ * [ Rust for JavaScript Engineers - Building Connect-4] ( https://www.afloat.boats/posts/rust-for-javascript-engineers-pt-1 )
53
57
54
58
### Research
55
59
56
60
### Miscellaneous
57
61
58
62
## Crate of the Week
59
63
60
- <!-- COTW goes here -->
64
+ This week's crate is [ web-route] ( https://crates.io/crates/web-route ) , a library to ergonomically define and manage web server routes in Rust.
65
+
66
+ Thanks to [ sidrubs] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1463 ) for the self-suggestion!
61
67
62
68
[ Please submit your suggestions and votes for next week] [ submit_crate ] !
63
69
@@ -139,11 +145,100 @@ If you are an event organizer hoping to expand the reach of your event, please s
139
145
140
146
## Updates from the Rust Project
141
147
142
- <!-- Rust updates go here -->
148
+ 553 pull requests were [ merged in the last week] [ merged ]
149
+
150
+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-08-19..2025-08-26
151
+
152
+ #### Compiler
153
+ * [ demote ` x86_64-apple-darwin ` to Tier 2 with host tools] ( https://github.com/rust-lang/rust/pull/145252 )
154
+ * [ ` rustc_expand ` : ensure stack in ` InvocationCollector::visit_expr ` ] ( https://github.com/rust-lang/rust/pull/145410 )
155
+ * [ account for impossible bounds making seemingly unsatisfyable dyn-to-dyn casts] ( https://github.com/rust-lang/rust/pull/145620 )
156
+ * [ add lint against integer to pointer transmutes] ( https://github.com/rust-lang/rust/pull/144531 )
157
+ * [ fix ICE when validating transmuting ZST to inhabited ` enum ` ] ( https://github.com/rust-lang/rust/pull/145791 )
158
+ * [ refactor attribute parsing to improve ergonomics and some diagnostics] ( https://github.com/rust-lang/rust/pull/145507 )
159
+ * [ simplify span caches] ( https://github.com/rust-lang/rust/pull/145505 )
160
+ * [ slightly optimize reading of source files] ( https://github.com/rust-lang/rust/pull/145848 )
161
+ * [ miri: account for time spent tracing, use RDTSC for faster time] ( https://github.com/rust-lang/miri/pull/4524 )
162
+ * [ miri: support weak definitions] ( https://github.com/rust-lang/miri/pull/4414 )
163
+
164
+ #### Library
165
+ * [ ` UnsafePinned::raw_get ` : sync signature with get] ( https://github.com/rust-lang/rust/pull/145593 )
166
+ * [ ` bufreader::Buffer::backshift ` : don't move the uninit bytes] ( https://github.com/rust-lang/rust/pull/145538 )
167
+ * [ experiment: reborrow trait] ( https://github.com/rust-lang/rust/pull/145726 )
168
+ * [ fix parameter order for ` _by() ` variants of ` min ` / ` max ` / ` minmax ` in ` std::cmp ` ] ( https://github.com/rust-lang/rust/pull/139357 )
169
+ * [ fmt of non-decimal radix untangled] ( https://github.com/rust-lang/rust/pull/143730 )
170
+ * [ implementation: ` #[feature(nonpoison_rwlock)] ` ] ( https://github.com/rust-lang/rust/pull/144648 )
171
+ * [ stabilize ` const_array_each_ref ` ] ( https://github.com/rust-lang/rust/pull/143383 )
172
+ * [ stabilize ` const_pathbuf_osstring_new ` feature] ( https://github.com/rust-lang/rust/pull/145464 )
173
+ * [ hashbrown: un-bloat ` get_inner ` functions to restore lookup performance] ( https://github.com/rust-lang/hashbrown/pull/639 )
174
+
175
+ #### Cargo
176
+ * [ cargo: linting system] ( https://github.com/rust-lang/cargo/pull/15865 )
177
+ * [ cargo: suggest workspace hints for boolean dependencies] ( https://github.com/rust-lang/cargo/pull/15507 )
178
+
179
+ #### Rustdoc
180
+ * [ add support for macro expansion in rustdoc source code pages] ( https://github.com/rust-lang/rust/pull/137229 )
181
+ * [ make attributes render consistently] ( https://github.com/rust-lang/rust/pull/145782 )
182
+ * [ render attributes in Field and Variants sections] ( https://github.com/rust-lang/rust/pull/145812 )
183
+
184
+ #### Clippy
185
+ * [ clippy: ` bool_comparison ` : fix incorrect suggestion with ` > ` /` < ` and macros] ( https://github.com/rust-lang/rust-clippy/pull/15513 )
186
+ * [ clippy: ` bool_comparison ` : no longer lint on ` !x != y ` ] ( https://github.com/rust-lang/rust-clippy/pull/15498 )
187
+ * [ clippy: ` cast_slice_from_raw_parts ` : check for implicit cast to raw slice pointer] ( https://github.com/rust-lang/rust-clippy/pull/15437 )
188
+ * [ clippy: ` ptr_as_ptr ` : fix incorrect suggestion with ` pointer::cast ` and macros] ( https://github.com/rust-lang/rust-clippy/pull/15514 )
189
+ * [ clippy: ` too_many_lines ` : only highlight the function signature] ( https://github.com/rust-lang/rust-clippy/pull/15461 )
190
+ * [ clippy: ` unnecessary_mut_passed ` : add structured suggestion] ( https://github.com/rust-lang/rust-clippy/pull/15438 )
191
+ * [ clippy: ` unused_unit ` : don't lint on closure return types] ( https://github.com/rust-lang/rust-clippy/pull/15549 )
192
+ * [ clippy: better check for ` assign_op_pattern ` in ` const ` context] ( https://github.com/rust-lang/rust-clippy/pull/15532 )
193
+ * [ clippy: check f16 and f128 in ` float_equality_without_abs ` ] ( https://github.com/rust-lang/rust-clippy/pull/15054 )
194
+ * [ clippy: detect infinite loop in ` async fn ` not returning ` ! ` ] ( https://github.com/rust-lang/rust-clippy/pull/15545 )
195
+ * [ clippy: do not replace ` match ` by ` if ` if any arm contains a binding] ( https://github.com/rust-lang/rust-clippy/pull/15352 )
196
+ * [ clippy: fix ` unnecessary_safety_comment ` not linting for the first line] ( https://github.com/rust-lang/rust-clippy/pull/15354 )
197
+ * [ clippy: fix ` async_yields_async ` wrongly unmangled macros] ( https://github.com/rust-lang/rust-clippy/pull/15553 )
198
+ * [ clippy: fix ` derivable_impls ` suggests wrongly on ` derive_const ` ] ( https://github.com/rust-lang/rust-clippy/pull/15535 )
199
+ * [ clippy: fix ` manual_is_ascii_check ` : also add explicit type when linting ` matches! ` ] ( https://github.com/rust-lang/rust-clippy/pull/15492 )
200
+ * [ clippy: fix ` or_then_unwrap ` : suggestion preserves macro calls] ( https://github.com/rust-lang/rust-clippy/pull/15483 )
201
+ * [ clippy: fix ` semicolon_inside_block ` false positive when attribute over expr is not enabled] ( https://github.com/rust-lang/rust-clippy/pull/15476 )
202
+ * [ clippy: fix ` unnested_or_patterns ` false positive on structs with only shorthand field pats] ( https://github.com/rust-lang/rust-clippy/pull/15343 )
203
+
204
+ #### Rust-Analyzer
205
+ * [ rust-analyzer: ` replace_arith_op ` not applicable on selected] ( https://github.com/rust-lang/rust-analyzer/pull/20512 )
206
+ * [ rust-analyzer: add ` ReturnExpr ` completion suggest] ( https://github.com/rust-lang/rust-analyzer/pull/20507 )
207
+ * [ rust-analyzer: add let in let-chain completion support] ( https://github.com/rust-lang/rust-analyzer/pull/20513 )
208
+ * [ rust-analyzer: add an option to hide reborrows in adjustment inlay hints] ( https://github.com/rust-lang/rust-analyzer/pull/20520 )
209
+ * [ rust-analyzer: fix ` else ` completion in ` let _ = if x {} $0 ` ] ( https://github.com/rust-lang/rust-analyzer/pull/20518 )
210
+ * [ rust-analyzer: fix panic in ` syntax_highlighting ` ] ( https://github.com/rust-lang/rust-analyzer/pull/20506 )
211
+ * [ rust-analyzer: fix rust-analyzer-contributors reference] ( https://github.com/rust-lang/rust-analyzer/pull/20529 )
212
+ * [ rust-analyzer: fix indentation in ` move_guard_to_arm_body ` ] ( https://github.com/rust-lang/rust-analyzer/pull/20509 )
213
+ * [ rust-analyzer: fix opaque generics] ( https://github.com/rust-lang/rust-analyzer/pull/20523 )
214
+ * [ rust-analyzer: improve semicolon handling in ` toggle_macro_delimiter ` ] ( https://github.com/rust-lang/rust-analyzer/pull/20534 )
215
+ * [ rust-analyzer: infinite recursion while lowering assoc type bounds from supertraits] ( https://github.com/rust-lang/rust-analyzer/pull/20504 )
216
+ * [ rust-analyzer: make import sorting order follow 2024 edition style] ( https://github.com/rust-lang/rust-analyzer/pull/20423 )
217
+ * [ rust-analyzer: masquerade as nightly cargo when invoking flycheck with ` -Zscript ` ] ( https://github.com/rust-lang/rust-analyzer/pull/20528 )
218
+ * [ rust-analyzer: normalize all types when finishing inference] ( https://github.com/rust-lang/rust-analyzer/pull/20537 )
219
+ * [ rust-analyzer: remove unnecessary ` salsa::attach() ` calls] ( https://github.com/rust-lang/rust-analyzer/pull/20502 )
143
220
144
221
### Rust Compiler Performance Triage
145
222
146
- <!-- Perf results go here -->
223
+ Lot of regressions this week, mostly in rustdoc benchmarks from newly added features. The rest of the suite saw mostly small regressions in small benchmarks and also some improvements, notably from token tree parsing optimization in macro code, span optimization and ongoing work on new solver, which is not fully enabled, yet.
224
+
225
+ Triage done by ** @panstromek ** .
226
+ Revision range: [ 239e8b1b..ee361e8f] ( https://perf.rust-lang.org/?start=239e8b1b47b34120287ec36b33228c1e177f0c38&end=ee361e8fca1c30e13e7a31cc82b64c045339d3a8&absolute=false&stat=instructions%3Au )
227
+
228
+ ** Summary** :
229
+
230
+ | (instructions: u ) | mean | range | count |
231
+ | :----------------------------------:| :-----:| :--------------:| :-----:|
232
+ | Regressions ❌ <br /> (primary) | 3.7% | [ 0.3%, 34.5%] | 42 |
233
+ | Regressions ❌ <br /> (secondary) | 2.3% | [ 0.0%, 53.3%] | 79 |
234
+ | Improvements ✅ <br /> (primary) | -0.5% | [ -0.7%, -0.3%] | 9 |
235
+ | Improvements ✅ <br /> (secondary) | -0.9% | [ -2.8%, -0.0%] | 30 |
236
+ | All ❌✅ (primary) | 3.0% | [ -0.7%, 34.5%] | 51 |
237
+
238
+ 5 Regressions, 1 Improvement, 7 Mixed; 6 of them in rollups
239
+ 38 artifact comparisons made in total
240
+
241
+ [ Full report here] ( https://github.com/rust-lang/rustc-perf/blob/76b6beef3a67f4c97f61745ea510b4c4a924046f/triage/2025/2025-08-25.md )
147
242
148
243
### [ Approved RFCs] ( https://github.com/rust-lang/rfcs/commits/master )
149
244
@@ -277,8 +372,8 @@ Rusty Events between 2025-08-27 - 2025-09-24 🦀
277
372
* [ ** Reading Rust Meetup** ] ( https://www.meetup.com/reading-rust-workshop/events/308944038 )
278
373
* 2025-09-11 | Bern, CH | [ Rust Bern] ( https://www.meetup.com/rust-bern/events/ )
279
374
* [ ** 2025 Rust Talks Bern #4 @Z ühlke** ] ( https://www.meetup.com/rust-bern/events/309903540 )
280
- * 2025-09-16 | Berlin, DE | [ Oxidize Conference] (https://oxidizeconf.com/ )
281
- * [ ** Oxidize Conference** ] ( https://oxidizeconf.com/ )
375
+ * 2025-09-16 | Berlin, DE | [ Oxidize Conference] (https://oxidizeconf.com/ )
376
+ * [ ** Oxidize Conference** ] ( https://oxidizeconf.com/ )
282
377
* 2025-09-16 | Leipzig, DE | [ Rust - Modern Systems Programming in Leipzig] ( https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/ )
283
378
* [ ** Topic TBD** ] ( https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/308592250 )
284
379
* 2025-09-17 | Girona, ES | [ Rust Girona] ( https://lu.ma/rust-girona ) | [ Silicon Girona] ( https://silicongirona.club )
@@ -356,7 +451,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
356
451
357
452
# Quote of the Week
358
453
359
- <!-- QOTW goes here -->
454
+ > I ` clone() ` everything now. The Borrow Checker permits this small rebellion, this inefficiency. It knows I suffer more knowing my code is not idiomatic. Every ` .clone() ` is a confession of my failure. Every ` Arc<Mutex> ` a monument to my inadequacy.
455
+
456
+ – [ /u/TheEldenLorrdd on /r/rust] ( https://reddit.com/comments/1mwmei6 )
457
+
458
+ Thanks to [ Colin Terry] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1709 ) for the suggestion!
360
459
361
460
[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
362
461
0 commit comments