@@ -55,7 +55,9 @@ and just ask the editors to select the category.
5555
5656## Crate of the Week
5757
58- <!-- COTW goes here -->
58+ This week's crate is [ logos] ( https://github.com/maciejhirsz/logos ) , a modern lexer generator.
59+
60+ Thanks to [ Sam O'Brien] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1507 ) for the (partial self-)suggestion!
5961
6062[ Please submit your suggestions and votes for next week] [ submit_crate ] !
6163
@@ -137,7 +139,85 @@ If you are an event organizer hoping to expand the reach of your event, please s
137139
138140## Updates from the Rust Project
139141
140- <!-- Rust updates go here -->
142+ 482 pull requests were [ merged in the last week] [ merged ]
143+
144+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-12-09..2025-12-16
145+
146+ #### Compiler
147+ * [ ` rustc_scalable_vector(N) ` ] ( https://github.com/rust-lang/rust/pull/143924 )
148+ * [ experimentally add * heterogeneous* ` try ` blocks] ( https://github.com/rust-lang/rust/pull/149489 )
149+ * [ externally implementable items] ( https://github.com/rust-lang/rust/pull/146348 )
150+ * [ forbid freely casting lifetime bounds of dyn-types] ( https://github.com/rust-lang/rust/pull/136776 )
151+ * [ inherit attributes in delegation] ( https://github.com/rust-lang/rust/pull/149843 )
152+ * [ only resolve main in bin crates] ( https://github.com/rust-lang/rust/pull/149867 )
153+ * [ overhaul filename handling for cross-compiler consistency] ( https://github.com/rust-lang/rust/pull/149709 )
154+ * [ simplify how inline asm handles ` MaybeUninit ` ] ( https://github.com/rust-lang/rust/pull/149950 )
155+
156+ #### Library
157+ * [ add ` SystemTime::{MIN, ` MAX}] ( https://github.com/rust-lang/rust/pull/148825 )
158+ * [ add ` core::hint::prefetch_{read, write}_{data, instruction} ` ] ( https://github.com/rust-lang/rust/pull/146948 )
159+ * [ constify ` DropGuard::dismiss ` and trait impls] ( https://github.com/rust-lang/rust/pull/148755 )
160+ * [ fix vec iter zst alignment] ( https://github.com/rust-lang/rust/pull/149272 )
161+ * [ stabilize ` const_mul_add ` ] ( https://github.com/rust-lang/rust/pull/148052 )
162+
163+ #### Cargo
164+ * [ ` feat(log) ` : make timing messages ready for HTML replay] ( https://github.com/rust-lang/cargo/pull/16382 )
165+ * [ ` feat(report) ` : cargo report timings HTML replay] ( https://github.com/rust-lang/cargo/pull/16377 )
166+ * [ new: Improve quality of package name error messages] ( https://github.com/rust-lang/cargo/pull/16398 )
167+ * [ package: Don't verify registry for --list] ( https://github.com/rust-lang/cargo/pull/16341 )
168+ * [ ` fix(timing) ` : more self-contained timing/log data] ( https://github.com/rust-lang/cargo/pull/16378 )
169+ * [ ` test(lint) ` : redact more due to line got omitted] ( https://github.com/rust-lang/cargo/pull/16391 )
170+ * [ cache submodule into git db] ( https://github.com/rust-lang/cargo/pull/16246 )
171+ * [ downgrade curl-sys to 0.4.83] ( https://github.com/rust-lang/cargo/pull/16379 )
172+ * [ feat: stabilize ` -Zconfig-include ` ] ( https://github.com/rust-lang/cargo/pull/16284 )
173+ * [ fixed incorrect locking logic when artifact-dir == build-dir] ( https://github.com/rust-lang/cargo/pull/16385 )
174+ * [ test: use a larger default term width] ( https://github.com/rust-lang/cargo/pull/16403 )
175+
176+ #### Clippy
177+ * [ ` format_push_string ` : give a (possibly incomplete) suggestion] ( https://github.com/rust-lang/rust-clippy/pull/16093 )
178+ * [ ` manual_saturating_arithmetic ` : lint ` x.checked_sub(y).unwrap_or_default() ` ] ( https://github.com/rust-lang/rust-clippy/pull/15845 )
179+ * [ ` transmute_ptr_to_ref ` : Handle a pointer wrapped in a ` struct ` ] ( https://github.com/rust-lang/rust-clippy/pull/15948 )
180+ * [ ` unnecessary_fold ` : lint on ` fold ` s with ` Add::add ` /` Mul::mul ` ] ( https://github.com/rust-lang/rust-clippy/pull/16124 )
181+ * [ ` match_like_matches_macro ` : fix false positive with guards containing ` if let ` ] ( https://github.com/rust-lang/rust-clippy/pull/15876 )
182+ * [ add ` needless_type_cast ` lint] ( https://github.com/rust-lang/rust-clippy/pull/16139 )
183+ * [ add iterator reduction coverage to ` never_loop ` ] ( https://github.com/rust-lang/rust-clippy/pull/16222 )
184+ * [ count unsafe operations and macro calls once towards the innermost unsafe block] ( https://github.com/rust-lang/rust-clippy/pull/16117 )
185+ * [ do not look for disallowed methods inside desugared code] ( https://github.com/rust-lang/rust-clippy/pull/16186 )
186+ * [ fix ` branches-sharing-code ` suggests wrongly on ` const ` and ` static ` ] ( https://github.com/rust-lang/rust-clippy/pull/15522 )
187+ * [ fix ` clippy::ref_as_ptr ` for non-temporary references in let/const] ( https://github.com/rust-lang/rust-clippy/pull/16214 )
188+ * [ fix ` if_not_else ` wrong unmangled macros] ( https://github.com/rust-lang/rust-clippy/pull/15931 )
189+ * [ fix ` if_then_some_else_none ` false positive when encountering ` await ` codes] ( https://github.com/rust-lang/rust-clippy/pull/16178 )
190+ * [ fix ` map_entry ` suggests wrongly for insert with cfg-ed out code] ( https://github.com/rust-lang/rust-clippy/pull/15800 )
191+ * [ fix ` match_like_matches_macro ` wrongly unmangled macros] ( https://github.com/rust-lang/rust-clippy/pull/16018 )
192+ * [ fix ` set-contains-or-insert ` false positive when set is mutated before ` insert ` ] ( https://github.com/rust-lang/rust-clippy/pull/16009 )
193+ * [ fix ` unchecked_time_subtraction ` false negative on ` Ops::sub ` method call] ( https://github.com/rust-lang/rust-clippy/pull/16233 )
194+
195+ #### Rust-Analyzer
196+ * [ fix "Invariant violation: file emitted multiple times" when doing ` scip . ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21270 )
197+ * [ fix ` bind_unused_param ` applicable on closure] ( https://github.com/rust-lang/rust-analyzer/pull/21264 )
198+ * [ fix assist ` and ` → ` and_then ` parameter] ( https://github.com/rust-lang/rust-analyzer/pull/21239 )
199+ * [ fix complete reference for ` &mut ty ` → ` &ty ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21278 )
200+ * [ fix complete unit return semicolon in arg-list] ( https://github.com/rust-lang/rust-analyzer/pull/21032 )
201+ * [ fix expected type no strip deref] ( https://github.com/rust-lang/rust-analyzer/pull/21277 )
202+ * [ fix indent for ` toggle_ignore ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21175 )
203+ * [ fix invalid logic op for ` replace_let_with_if_let ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21266 )
204+ * [ fix loses label for ` convert_for_to_while_let ` ] ( https://github.com/rust-lang/rust-analyzer/pull/20754 )
205+ * [ fix not applicable fn in closure for ` add_return_type ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21258 )
206+ * [ ` #[rustc_deprecated_safe_2024] ` can also come as ` #[rustc_deprecated_safe_2024(audit_that = "reason")] ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21244 )
207+ * [ ` is_transmutable ` always panicking] ( https://github.com/rust-lang/rust-analyzer/pull/21238 )
208+ * [ fix a panic in ` ast::TypeBound::kind() ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21251 )
209+ * [ fix method resolution for incoherent impls when there are two sysroots in the crate graph] ( https://github.com/rust-lang/rust-analyzer/pull/21273 )
210+ * [ implementation of ` locals_used ` in HIR level] ( https://github.com/rust-lang/rust-analyzer/pull/21262 )
211+ * [ lsp: handle dynamic registration for didSave] ( https://github.com/rust-lang/rust-analyzer/pull/21253 )
212+ * [ prefix json target file with workspace root for sysroot metadata] ( https://github.com/rust-lang/rust-analyzer/pull/21272 )
213+ * [ respect rustc's lint attribute application order] ( https://github.com/rust-lang/rust-analyzer/pull/21265 )
214+ * [ show parameter hint for missing arguments] ( https://github.com/rust-lang/rust-analyzer/pull/21240 )
215+ * [ support ` #[feature(associated_type_defaults)] ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21243 )
216+ * [ support dyn compatibility for old toolchains without ` MetaSized ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21241 )
217+ * [ support the new lowering of ` format_args!() ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21242 )
218+ * [ use ` cmark_with_options ` to write shortcuts links to the output] ( https://github.com/rust-lang/rust-analyzer/pull/21276 )
219+ * [ include operator overload occurrences in SCIP index] ( https://github.com/rust-lang/rust-analyzer/pull/21187 )
220+ * [ reorder ` add_return_type ` assist] ( https://github.com/rust-lang/rust-analyzer/pull/21256 )
141221
142222### Rust Compiler Performance Triage
143223
@@ -302,7 +382,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
302382
303383# Quote of the Week
304384
305- <!-- QOTW goes here -->
385+ > I allow my code to be used for training AI on GitHub. Not because I fear AI taking our jobs—but because I’m confident my code will slow it down enough to save us all.
386+
387+ – [ 王翼翔 on rust-users] ( https://users.rust-lang.org/t/whats-going-on-with-bincode/136942/3 )
388+
389+ Thanks to [ Moy2010] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1738 ) for the suggestion!
306390
307391[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
308392
0 commit comments