@@ -47,7 +47,9 @@ and just ask the editors to select the category.
4747
4848## Crate of the Week
4949
50- <!-- COTW goes here -->
50+ This week's crate is [ fake] ( https://crates.io/crates/fake ) , a library (and recently console utility) to generate fake data of various types.
51+
52+ Thanks to [ llogiq] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1384 ) for the half-self-suggestion!
5153
5254[ Please submit your suggestions and votes for next week] [ submit_crate ] !
5355
@@ -106,7 +108,97 @@ If you are an event organizer hoping to expand the reach of your event, please s
106108
107109## Updates from the Rust Project
108110
109- <!-- Rust updates go here -->
111+ 331 pull requests were [ merged in the last week] [ merged ]
112+
113+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2024-12-24..2024-12-31
114+
115+ * [ enable LSX feature for LoongArch OpenHarmony target] ( https://github.com/rust-lang/rust/pull/134751 )
116+ * [ explicitly set float ABI for all ARM targets] ( https://github.com/rust-lang/rust/pull/134932 )
117+ * [ A couple datalog/borrowck cleanups] ( https://github.com/rust-lang/rust/pull/134914 )
118+ * [ ` rustc_codegen_ssa ` : Buffer file writes in ` link_rlib ` ] ( https://github.com/rust-lang/rust/pull/134866 )
119+ * [ account for C string literals and ` format_args ` in ` HiddenUnicodeCodepoints ` lint] ( https://github.com/rust-lang/rust/pull/134956 )
120+ * [ account for removal of multiline span in suggestion] ( https://github.com/rust-lang/rust/pull/134664 )
121+ * [ actually print all the relevant parts of a coroutine in verbose mode] ( https://github.com/rust-lang/rust/pull/134741 )
122+ * [ add ` --no-capture ` /` --nocapture ` as bootstrap arguments] ( https://github.com/rust-lang/rust/pull/134809 )
123+ * [ add a compiler intrinsic to back ` bigint_helper_methods ` ] ( https://github.com/rust-lang/rust/pull/133663 )
124+ * [ avoid ICE in borrowck] ( https://github.com/rust-lang/rust/pull/134627 )
125+ * [ compiler: add a statement-of-intent to ` rustc_abi ` ] ( https://github.com/rust-lang/rust/pull/134941 )
126+ * [ compute liveness constraints in location-sensitive polonius] ( https://github.com/rust-lang/rust/pull/134670 )
127+ * [ consider arm to diverge if guard diverges] ( https://github.com/rust-lang/rust/pull/134735 )
128+ * [ consider empty-unreachable otherwise branches in MatchBranchSimplification] ( https://github.com/rust-lang/rust/pull/131244 )
129+ * [ default to short backtraces for dev builds of rustc itself] ( https://github.com/rust-lang/rust/pull/134743 )
130+ * [ implement ` default_overrides_default_fields ` lint] ( https://github.com/rust-lang/rust/pull/134737 )
131+ * [ improve default target options for ` x86_64-unknown-linux-none ` ] ( https://github.com/rust-lang/rust/pull/134765 )
132+ * [ improve type mutation for certain structures] ( https://github.com/rust-lang/rust/pull/134724 )
133+ * [ make -Csoft-float have an effect on all ARM targets] ( https://github.com/rust-lang/rust/pull/134885 )
134+ * [ make ` ty::Error ` implement all auto traits] ( https://github.com/rust-lang/rust/pull/134798 )
135+ * [ make sure we check the future type is ` Sized ` in ` AsyncFn* ` ] ( https://github.com/rust-lang/rust/pull/134933 )
136+ * [ skip parenthesis around tuple ` struct ` field calls] ( https://github.com/rust-lang/rust/pull/134834 )
137+ * [ skip parenthesis if ` . ` makes statement boundary unambiguous] ( https://github.com/rust-lang/rust/pull/134833 )
138+ * [ some random region tweaks] ( https://github.com/rust-lang/rust/pull/134827 )
139+ * [ strip debuginfo from rustc-main and rustdoc] ( https://github.com/rust-lang/rust/pull/134803 )
140+ * [ miri: FD handling: avoid unnecessary dynamic downcasts] ( https://github.com/rust-lang/miri/pull/4114 )
141+ * [ miri: epoll: avoid some clones] ( https://github.com/rust-lang/miri/pull/4115 )
142+ * [ miri: error on some invalid flag combinations] ( https://github.com/rust-lang/miri/pull/4109 )
143+ * [ miri: fix toolchain flag parsing] ( https://github.com/rust-lang/miri/pull/4113 )
144+ * [ miri: socket read/write cleanup] ( https://github.com/rust-lang/miri/pull/4112 )
145+ * [ stabilize ` const_alloc_layout ` ] ( https://github.com/rust-lang/rust/pull/134768 )
146+ * [ stabilize ` const_swap ` ] ( https://github.com/rust-lang/rust/pull/134757 )
147+ * [ stabilize ` style_edition = "2024" ` in-tree] ( https://github.com/rust-lang/rust/pull/134929 )
148+ * [ make ` slice::as_flattened_mut ` unstably const] ( https://github.com/rust-lang/rust/pull/134927 )
149+ * [ tidy up bigint multiplication methods] ( https://github.com/rust-lang/rust/pull/132195 )
150+ * [ from iterator for more tuples] ( https://github.com/rust-lang/rust/pull/132431 )
151+ * [ add ` into_array ` conversion destructors for ` Box ` , Rc` , and Arc ` ] ( https://github.com/rust-lang/rust/pull/134379 )
152+ * [ avoid short writes in LineWriter] ( https://github.com/rust-lang/rust/pull/134620 )
153+ * [ unify ` fs::copy ` and ` io::copy ` on Linux] ( https://github.com/rust-lang/rust/pull/134547 )
154+ * [ fix forgetting to save statx availability on success] ( https://github.com/rust-lang/rust/pull/134649 )
155+ * [ fix mistake in windows file open] ( https://github.com/rust-lang/rust/pull/134819 )
156+ * [ fix renaming symlinks on Windows] ( https://github.com/rust-lang/rust/pull/134786 )
157+ * [ windows: use WriteFile to write to a UTF-8 console] ( https://github.com/rust-lang/rust/pull/134622 )
158+ * [ windows: use ` FILE_ALLOCATION_INFO ` for truncation] ( https://github.com/rust-lang/rust/pull/134722 )
159+ * [ cargo: ` fix(package) ` : check dirtiness of path fields in manifest] ( https://github.com/rust-lang/cargo/pull/14966 )
160+ * [ cargo: ` fix(package) ` : check dirtiness of symlinks source files] ( https://github.com/rust-lang/cargo/pull/14981 )
161+ * [ cargo: ` fix(package) ` : warn if symlinks checked out as plain text files] ( https://github.com/rust-lang/cargo/pull/14994 )
162+ * [ cargo: ` refactor(package) ` : split ` cargo_package ` to modules] ( https://github.com/rust-lang/cargo/pull/14982 )
163+ * [ cargo: fix: assure possibly blocking non-files (like FIFOs) won't be picked up for publishing] ( https://github.com/rust-lang/cargo/pull/14977 )
164+ * [ cargo: moved manifest metadata tracking from fingerprint to dep info] ( https://github.com/rust-lang/cargo/pull/14973 )
165+ * [ cargo: test: make path arguments more generic and flexible] ( https://github.com/rust-lang/cargo/pull/14979 )
166+ * [ cargo: test: relax ` bad_crate_type ` to only match error message prefix] ( https://github.com/rust-lang/cargo/pull/14990 )
167+ * [ cargo: test: relax panic output assertion] ( https://github.com/rust-lang/cargo/pull/14989 )
168+ * [ rustdoc: use shorter paths as preferred canonical paths] ( https://github.com/rust-lang/rust/pull/134806 )
169+ * [ unsafe binder support in rustdoc] ( https://github.com/rust-lang/rust/pull/134857 )
170+ * [ clippy: ` borrow_interior_mutable_const ` ICE into FN] ( https://github.com/rust-lang/rust-clippy/pull/13877 )
171+ * [ clippy: auto-fix ` if_not_else ` ] ( https://github.com/rust-lang/rust-clippy/pull/13809 )
172+ * [ clippy: correct suggestion for ` manual_div_ceil ` lint] ( https://github.com/rust-lang/rust-clippy/pull/13864 )
173+ * [ clippy: do not remove required parentheses in ` borrow_as_ptr ` suggestion] ( https://github.com/rust-lang/rust-clippy/pull/13884 )
174+ * [ clippy: do not trigger ` trailing_empty_array ` in tests] ( https://github.com/rust-lang/rust-clippy/pull/13844 )
175+ * [ clippy: fix arguments of ` ExprKind::MethodCall ` ] ( https://github.com/rust-lang/rust-clippy/pull/13890 )
176+ * [ clippy: fix parentheses when replacing ` matches!(…, None) ` with ` .is_none() ` ] ( https://github.com/rust-lang/rust-clippy/pull/13906 )
177+ * [ clippy: make ` inconsistent_struct_constructor ` "all fields are shorthand" requirement configurable] ( https://github.com/rust-lang/rust-clippy/pull/13737 )
178+ * [ clippy: remove description of known problems in ` match_same_arms ` that have already been resolved] ( https://github.com/rust-lang/rust-clippy/pull/13873 )
179+ * [ clippy: remove obsolete comment] ( https://github.com/rust-lang/rust-clippy/pull/13850 )
180+ * [ clippy: use the correct ` ParamEnv ` when checking future's output type] ( https://github.com/rust-lang/rust-clippy/pull/13863 )
181+ * [ clippy: use the full lifetime name in suggestions] ( https://github.com/rust-lang/rust-clippy/pull/13907 )
182+ * [ rust-analyzer: cleanup target fetching for cargo metadata] ( https://github.com/rust-lang/rust-analyzer/pull/18754 )
183+ * [ rust-analyzer: cleanup toolchain info fetching] ( https://github.com/rust-lang/rust-analyzer/pull/18785 )
184+ * [ rust-analyzer: decouple proc-macro server protocol from the server implementation] ( https://github.com/rust-lang/rust-analyzer/pull/18792 )
185+ * [ rust-analyzer: show go-to-type-def actions for subst when hovering] ( https://github.com/rust-lang/rust-analyzer/pull/18801 )
186+ * [ rust-analyzer: show substitution where hovering over generic things] ( https://github.com/rust-lang/rust-analyzer/pull/18707 )
187+ * [ rust-analyzer: unify handling of path diagnostics in hir-ty] ( https://github.com/rust-lang/rust-analyzer/pull/18743 )
188+ * [ rust-analyzer: fix bug of "fill match arm" action in ` tokio::main ` macro] ( https://github.com/rust-lang/rust-analyzer/pull/18794 )
189+ * [ rust-analyzer: fix missing name ` enum ` when hovering on fields in variants] ( https://github.com/rust-lang/rust-analyzer/pull/18756 )
190+ * [ rust-analyzer: fix render of literal to be rendered in codeblock] ( https://github.com/rust-lang/rust-analyzer/pull/18795 )
191+ * [ rust-analyzer: fix replace-if-let-with-match generates non-exhausive match] ( https://github.com/rust-lang/rust-analyzer/pull/18797 )
192+ * [ rust-analyzer: avoid generating colliding names in ` extract_variable ` ] ( https://github.com/rust-lang/rust-analyzer/pull/18791 )
193+ * [ rust-analyzer: consider ` Enum::Variant ` even when it comes from a different crate] ( https://github.com/rust-lang/rust-analyzer/pull/18779 )
194+ * [ rust-analyzer: do not merge spans if they have different anchors] ( https://github.com/rust-lang/rust-analyzer/pull/18784 )
195+ * [ rust-analyzer: fix flycheck diagnostics flickering for binary targets] ( https://github.com/rust-lang/rust-analyzer/pull/18778 )
196+ * [ rust-analyzer: fix invalid ` -O ` flag used by cfg discovery] ( https://github.com/rust-lang/rust-analyzer/pull/18789 )
197+ * [ rust-analyzer: fix metrics workflow using the wrong download-artifact version] ( https://github.com/rust-lang/rust-analyzer/pull/18755 )
198+ * [ rust-analyzer: incorrect ` file_id ` used for ranges in outgoing calls] ( https://github.com/rust-lang/rust-analyzer/pull/18802 )
199+ * [ rust-analyzer: populate cargo config env vars for crates] ( https://github.com/rust-lang/rust-analyzer/pull/18807 )
200+ * [ rust-analyzer: implement parameter variance inference] ( https://github.com/rust-lang/rust-analyzer/pull/18774 )
201+ * [ rust-analyzer: treat ; as a terminator rather part of a glued expression] ( https://github.com/rust-lang/rust-analyzer/pull/18744 )
110202
111203### Rust Compiler Performance Triage
112204
@@ -250,7 +342,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
250342
251343# Quote of the Week
252344
253- <!-- QOTW goes here -->
345+ > Hear, hear! Rust is the real deep state. They knew all along that memory-related bugs would dominate the Vulnerability Rating Taxonomy. Coincidence? I think not. 🐛🔧
346+
347+ – [ @amoghavarsha @infosec.exchange on mastodon] ( https://infosec.exchange/@amoghavarsha/113741018641283042 )
348+
349+ Thanks to [ llogiq] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1646 ) for the suggestion!
254350
255351[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
256352
0 commit comments