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