@@ -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 [ mdbook-lint] ( https://github.com/joshrotenberg/mdbook-lint ) , a markdown linter geared towards mdbook, but useful with any markdown.
59+
60+ Thanks to [ josh rotenberg] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1502 ) for the self-suggestion!
5961
6062[ Please submit your suggestions and votes for next week] [ submit_crate ] !
6163
@@ -137,7 +139,56 @@ 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+ 494 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-02..2025-12-09
145+
146+ #### Compiler
147+ * [ early return on duplicate span lowerings] ( https://github.com/rust-lang/rust/pull/149060 )
148+ * [ miri: support ` fstat ` in linux] ( https://github.com/rust-lang/miri/pull/4714 )
149+
150+ #### Library
151+ * [ ` c_variadic ` : make ` VaList ` abi-compatible with C] ( https://github.com/rust-lang/rust/pull/141980 )
152+ * [ add ` #[inline] ` to ` Layout::is_size_align_valid ` ] ( https://github.com/rust-lang/rust/pull/149690 )
153+ * [ add ` Option::into_flat_iter ` ] ( https://github.com/rust-lang/rust/pull/148487 )
154+ * [ also introduce ` Peekable::next_if_map_mut ` next to ` next_if_map ` ] ( https://github.com/rust-lang/rust/pull/149520 )
155+ * [ assume the returned value in ` .filter(…).count() ` ] ( https://github.com/rust-lang/rust/pull/149495 )
156+ * [ implement ` Allocator ` for ` &mut A ` where ` A: Allocator + ?Sized ` ] ( https://github.com/rust-lang/rust/pull/146826 )
157+ * [ implement ` Vec::from_fn ` ] ( https://github.com/rust-lang/rust/pull/149699 )
158+ * [ remove initialized-bytes tracking from ` BorrowedBuf ` and ` BorrowedCursor ` ] ( https://github.com/rust-lang/rust/pull/148937 )
159+ * [ stabilize ` array_windows ` ] ( https://github.com/rust-lang/rust/pull/148814 )
160+
161+ #### Cargo
162+ * [ ` lint ` : new ` implicit_minimum_version_req ` lint] ( https://github.com/rust-lang/cargo/pull/16321 )
163+ * [ ` timings ` : derive concurrency data from unit data] ( https://github.com/rust-lang/cargo/pull/16350 )
164+ * [ ` lints ` : handle lints separately at ws pkg level] ( https://github.com/rust-lang/cargo/pull/16367 )
165+ * [ ` clean ` : Optimize (legacy) clean with multiple -p specifiers] ( https://github.com/rust-lang/cargo/pull/16264 )
166+ * [ don't read the config file twice when ` $CARGO_HOME ` is a symlink] ( https://github.com/rust-lang/cargo/pull/16325 )
167+ * [ support for rustdoc mergeable cross-crate info] ( https://github.com/rust-lang/cargo/pull/16309 )
168+
169+ #### Clippy
170+ * [ ` len_without_is_empty ` : allow ` is_empty(&self) ` with ` len(&mut self) ` ] ( https://github.com/rust-lang/rust-clippy/pull/16194 )
171+ * [ fix ` map_entry ` false positive when it would cause ` MutexGuard ` to be held across an] ( https://github.com/rust-lang/rust-clippy/pull/16199 )
172+ * [ fix ` nonstandard_macro_braces ` false negative on macros with empty args] ( https://github.com/rust-lang/rust-clippy/pull/15601 )
173+ * [ fix ` panicking_unwrap ` false positive on field access with implicit deref] ( https://github.com/rust-lang/rust-clippy/pull/16196 )
174+ * [ fix ` tuple_array_conversions ` false positive when binded vars are used before conversion] ( https://github.com/rust-lang/rust-clippy/pull/16197 )
175+ * [ fix ` useless_conversion ` wrongly unmangled macros] ( https://github.com/rust-lang/rust-clippy/pull/16171 )
176+ * [ fix broken ` while_let_on_iterator ` suggestion for non-sized types] ( https://github.com/rust-lang/rust-clippy/pull/16100 )
177+
178+ #### Rust-Analyzer
179+ * [ add config hide placeholders type hints] ( https://github.com/rust-lang/rust-analyzer/pull/21203 )
180+ * [ fix ` make::unnamed_param ` result a ` untyped_param ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21044 )
181+ * [ fix nested expr missing semicolon in incomplete-let] ( https://github.com/rust-lang/rust-analyzer/pull/21198 )
182+ * [ fix pub in ` enum ` variant field for ` no_such_field ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21221 )
183+ * [ allow multiple discover operations] ( https://github.com/rust-lang/rust-analyzer/pull/21164 )
184+ * [ don't implement sizedness check via ` all_field_tys() ` ] ( https://github.com/rust-lang/rust-analyzer/pull/21215 )
185+ * [ fix completion in format strings] ( https://github.com/rust-lang/rust-analyzer/pull/21210 )
186+ * [ fixed impl display to show trait generic args] ( https://github.com/rust-lang/rust-analyzer/pull/21226 )
187+ * [ more proc-macro-srv proto fixes] ( https://github.com/rust-lang/rust-analyzer/pull/21195 )
188+ * [ register ` define_opaque ` builtin attribute macro] ( https://github.com/rust-lang/rust-analyzer/pull/21183 )
189+ * [ resolve const generic param-env panic in type projection] ( https://github.com/rust-lang/rust-analyzer/pull/21235 )
190+ * [ skip cfg attributes in macro input attribute stripping] ( https://github.com/rust-lang/rust-analyzer/pull/21205 )
191+ * [ no complete unit RetType in resugar async assoc item] ( https://github.com/rust-lang/rust-analyzer/pull/21222 )
141192
142193### Rust Compiler Performance Triage
143194
@@ -318,7 +369,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
318369
319370# Quote of the Week
320371
321- <!-- QOTW goes here -->
372+ > \[ ..\] if a breaking change is going to happen, it’s much better to make lock automatically panic than to make panics silently unlock.
373+
374+ – [ Rain on their blog] ( https://sunshowers.io/posts/on-poisoning )
375+
376+ Thanks to [ hkBst] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1735 ) for the suggestion!
322377
323378[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
324379
0 commit comments