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