@@ -56,7 +56,9 @@ and just ask the editors to select the category.
56
56
57
57
## Crate of the Week
58
58
59
- <!-- COTW goes here -->
59
+ This week's crate is [ structstruck] ( https://crates.io/crates/structstruck ) , a proc-macro crate for enabling nested struct/enum definitions.
60
+
61
+ Thanks to [ Julius Michaelis] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1433 ) for the self-suggestion!
60
62
61
63
[ Please submit your suggestions and votes for next week] [ submit_crate ] !
62
64
@@ -119,7 +121,74 @@ If you are an event organizer hoping to expand the reach of your event, please s
119
121
120
122
## Updates from the Rust Project
121
123
122
- <!-- Rust updates go here -->
124
+ 447 pull requests were [ merged in the last week] [ merged ]
125
+
126
+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-04-29..2025-05-06
127
+
128
+ #### Compiler
129
+
130
+ * [ handle paren in macro expand for let-init-else expr] ( https://github.com/rust-lang/rust/pull/134034 )
131
+ * [ implement or-patterns for pattern types] ( https://github.com/rust-lang/rust/pull/139909 )
132
+ * [ initial support for dynamically linked crates] ( https://github.com/rust-lang/rust/pull/134767 )
133
+ * [ mir-opt: execute MatchBranchSimplification after GVN] ( https://github.com/rust-lang/rust/pull/140115 )
134
+ * [ refactor ` rustc_on_unimplemented's ` filter parser] ( https://github.com/rust-lang/rust/pull/140307 )
135
+ * [ perf: optimize the codegen for ` Span::from_expansion ` ] ( https://github.com/rust-lang/rust/pull/140485 )
136
+ * [ perf: delay checking of ` #[rustc_no_implicit_autorefs] ` in autoref lint] ( https://github.com/rust-lang/rust/pull/140406 )
137
+ * [ perf: simplify ` LazyAttrTokenStream ` ] ( https://github.com/rust-lang/rust/pull/127516 )
138
+ * [ perf: use a closure instead of three chained iterators] ( https://github.com/rust-lang/rust/pull/140464 )
139
+ * [ transmutability: merge contiguous runs with a common destination] ( https://github.com/rust-lang/rust/pull/140509 )
140
+ * [ transmutability: uninit transition matches unit byte only] ( https://github.com/rust-lang/rust/pull/140380 )
141
+
142
+ #### Library
143
+
144
+ * [ avoid redundant WTF-8 checks in ` PathBuf ` ] ( https://github.com/rust-lang/rust/pull/140159 )
145
+ * [ delegate to inner ` vec::IntoIter ` from ` env::ArgsOs ` ] ( https://github.com/rust-lang/rust/pull/139847 )
146
+ * [ implement ` Iterator::last ` for ` vec::IntoIter ` ] ( https://github.com/rust-lang/rust/pull/139773 )
147
+ * [ stabilize ` ptr::swap_nonoverlapping ` in const] ( https://github.com/rust-lang/rust/pull/137280 )
148
+ * [ stabilize ` select_unpredictable ` ] ( https://github.com/rust-lang/rust/pull/140550 )
149
+ * [ streamline the ` format ` macro] ( https://github.com/rust-lang/rust/pull/140188 )
150
+
151
+ #### Cargo
152
+
153
+ * [ cargo add: suggest similarly named features] ( https://github.com/rust-lang/cargo/pull/15438 )
154
+ * [ in package-workspace, keep dev-dependencies if they have a version] ( https://github.com/rust-lang/cargo/pull/15470 )
155
+
156
+ #### Rustdoc
157
+
158
+ * [ fix doctest heuristic for main fn wrapping] ( https://github.com/rust-lang/rust/pull/140420 )
159
+
160
+ #### Rustfmt
161
+
162
+ * [ also allow bool literals as first item of let chain] ( https://github.com/rust-lang/rust/pull/140486 )
163
+
164
+ #### Clippy
165
+
166
+ * [ don't warn about unloaded crates] ( https://github.com/rust-lang/rust-clippy/pull/14733 )
167
+ * [ fix ` collapsible_if ` false positive on block stmt before expr] ( https://github.com/rust-lang/rust-clippy/pull/14730 )
168
+ * [ fix ` manual_unwrap_or_default ` false positive on ref binding] ( https://github.com/rust-lang/rust-clippy/pull/14731 )
169
+ * [ fix: ` manual_slice_fill ` false positive on ` IndexMut ` overload] ( https://github.com/rust-lang/rust-clippy/pull/14719 )
170
+ * [ fix: ` unused_async ` false positive on default impl] ( https://github.com/rust-lang/rust-clippy/pull/14720 )
171
+ * [ gate ` collapsible_if let_chains ` lints on edition 2024 and MSRV] ( https://github.com/rust-lang/rust-clippy/pull/14723 )
172
+
173
+ #### Rust-Analyzer
174
+
175
+ * [ add PGO support to install] ( https://github.com/rust-lang/rust-analyzer/pull/19685 )
176
+ * [ better handle parallelism in cache priming] ( https://github.com/rust-lang/rust-analyzer/pull/19721 )
177
+ * [ disable fixpoint for variance computation temporarily] ( https://github.com/rust-lang/rust-analyzer/pull/19739 )
178
+ * [ add an assist to unwrap a type with a generic arg] ( https://github.com/rust-lang/rust-analyzer/pull/19740 )
179
+ * [ correct assoc ty bound var starting index] ( https://github.com/rust-lang/rust-analyzer/pull/19732 )
180
+ * [ correct span info for ` mir::Operand ` ] ( https://github.com/rust-lang/rust-analyzer/pull/19247 )
181
+ * [ don't panic on some weird code] ( https://github.com/rust-lang/rust-analyzer/pull/19738 )
182
+ * [ fix ` move_bounds ` assists not working for lifetimes] ( https://github.com/rust-lang/rust-analyzer/pull/19747 )
183
+ * [ fix incorrect handling of unresolved non-module imports in name resolution] ( https://github.com/rust-lang/rust-analyzer/pull/19742 )
184
+ * [ fix proc-macro API creating malformed negative literals] ( https://github.com/rust-lang/rust-analyzer/pull/19746 )
185
+ * [ implement mut to const ptr cast for method resolution] ( https://github.com/rust-lang/rust-analyzer/pull/19733 )
186
+ * [ improve parser recovery a bit] ( https://github.com/rust-lang/rust-analyzer/pull/19723 )
187
+ * [ negative nums in ` concat! ` expansion] ( https://github.com/rust-lang/rust-analyzer/pull/19434 )
188
+ * [ remove unnecessary token length check for macros in renaming] ( https://github.com/rust-lang/rust-analyzer/pull/19750 )
189
+ * [ improve the let code snippet] ( https://github.com/rust-lang/rust-analyzer/pull/19735 )
190
+ * [ render more lifetimes] ( https://github.com/rust-lang/rust-analyzer/pull/19581 )
191
+ * [ support environment variable ` CARGO_MANIFEST_PATH ` ] ( https://github.com/rust-lang/rust-analyzer/pull/19751 )
123
192
124
193
### Rust Compiler Performance Triage
125
194
@@ -334,7 +403,13 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
334
403
335
404
# Quote of the Week
336
405
337
- <!-- QOTW goes here -->
406
+ > Well, the answer is basically yes. Our firmware is all Rust. Every component of our autonomy stack is Rust. Our app is 50% in Rust. And, our visualization tools are in Rust. Our production tools are in rust. The production QC software, which we ship to China, is in rust. Our internal websites are in rust. It's rust all over. We’ve drank the Rust Kool-Aid. In fact, there is no Python installed on the robots. This is not to dis Python at all, but it’s just simply not there.
407
+ >
408
+ > We use Python for neural network training. But Python is boxed to that. Everything else is Rust. And, the advantage of using Rust exponentially builds up.
409
+
410
+ – [ Vivek Bagaria on filtra.io] ( https://filtra.io/rust/interviews/matic-apr-25 )
411
+
412
+ Thanks to [ Brian Kung] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1683 ) for the suggestion!
338
413
339
414
[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
340
415
0 commit comments