@@ -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 [ ratzilla] ( https://github.com/orhun/ratzilla ) , a library for building terminal-themed web applications with Rust and WebAssembly.
51
+
52
+ Thanks to [ Orhun Parmaksız] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1397 ) for the self-suggestion!
51
53
52
54
[ Please submit your suggestions and votes for next week] [ submit_crate ] !
53
55
@@ -106,7 +108,108 @@ If you are an event organizer hoping to expand the reach of your event, please s
106
108
107
109
## Updates from the Rust Project
108
110
109
- <!-- Rust updates go here -->
111
+ 425 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%3A2025-01-28..2025-02-04
114
+
115
+ * [ ` #[optimize(none)] ` implies ` #[inline(never)] ` ] ( https://github.com/rust-lang/rust/pull/136358 )
116
+ * [ -Znext-solver: "normalize" signature before checking it mentions self in ` deduce_closure_signature ` ] ( https://github.com/rust-lang/rust/pull/135892 )
117
+ * [ ` rustc_allowed_through_unstable_modules ` : require deprecation message] ( https://github.com/rust-lang/rust/pull/136434 )
118
+ * [ ` rustc_hir_analysis ` cleanups] ( https://github.com/rust-lang/rust/pull/136281 )
119
+ * [ ABI-required target features: warn when they are missing in base CPU] ( https://github.com/rust-lang/rust/pull/136147 )
120
+ * [ add ` AsyncFn* ` to ` core ` prelude] ( https://github.com/rust-lang/rust/pull/135852 )
121
+ * [ add ` kl ` and ` widekl ` target features, and the feature gate] ( https://github.com/rust-lang/rust/pull/134814 )
122
+ * [ add constraint graph to polonius MIR dump] ( https://github.com/rust-lang/rust/pull/136278 )
123
+ * [ add link attribute for Enzyme's LLVMRust FFI] ( https://github.com/rust-lang/rust/pull/136374 )
124
+ * [ add mermaid graphs of NLL regions and SCCs to polonius MIR dump] ( https://github.com/rust-lang/rust/pull/136104 )
125
+ * [ add missing allocator safety in alloc crate] ( https://github.com/rust-lang/rust/pull/135805 )
126
+ * [ allow transmuting generic pattern types to and from their base] ( https://github.com/rust-lang/rust/pull/136179 )
127
+ * [ cast global variables to default address space] ( https://github.com/rust-lang/rust/pull/135026 )
128
+ * [ deduplicate operand creation between scalars, non-scalars and string patterns] ( https://github.com/rust-lang/rust/pull/136121 )
129
+ * [ delay a bug when indexing unsized slices] ( https://github.com/rust-lang/rust/pull/136325 )
130
+ * [ diagnostics: fix borrowck suggestions for if/while let conditionals] ( https://github.com/rust-lang/rust/pull/136402 )
131
+ * [ disable ` overflow_delimited_expr ` in edition 2024] ( https://github.com/rust-lang/rust/pull/136312 )
132
+ * [ do not consider child bound assumptions for rigid alias] ( https://github.com/rust-lang/rust/pull/135902 )
133
+ * [ enable ` unreachable_pub ` lint in ` alloc ` ] ( https://github.com/rust-lang/rust/pull/135367 )
134
+ * [ explain why we retroactively change a static initializer to have a different type] ( https://github.com/rust-lang/rust/pull/136426 )
135
+ * [ explicitly choose x86 softfloat/hardfloat ABI] ( https://github.com/rust-lang/rust/pull/136146 )
136
+ * [ filter out RPITITs when suggesting unconstrained assoc type on too many generics] ( https://github.com/rust-lang/rust/pull/136313 )
137
+ * [ fix autodiff compile time regression] ( https://github.com/rust-lang/rust/pull/136413 )
138
+ * [ fix broken release notes id] ( https://github.com/rust-lang/rust/pull/136266 )
139
+ * [ fix deduplication mismatches in vtables leading to upcasting unsoundness] ( https://github.com/rust-lang/rust/pull/135318 )
140
+ * [ ignore NLL boring locals in polonius diagnostics] ( https://github.com/rust-lang/rust/pull/136299 )
141
+ * [ implement MIR const trait stability checks] ( https://github.com/rust-lang/rust/pull/136055 )
142
+ * [ implement MIR lowering for unsafe binders] ( https://github.com/rust-lang/rust/pull/130514 )
143
+ * [ implement ` int_from_ascii ` ] ( https://github.com/rust-lang/rust/pull/134824 )
144
+ * [ insert null checks for pointer dereferences when debug assertions are enabled] ( https://github.com/rust-lang/rust/pull/134424 )
145
+ * [ interpret: ` is_alloc_live ` : check global allocs last] ( https://github.com/rust-lang/rust/pull/136166 )
146
+ * [ introduce a wrapper for "typed valtrees" and properly check the type before extracting the value] ( https://github.com/rust-lang/rust/pull/136180 )
147
+ * [ lower index bounds checking to ` PtrMetadata ` , this time with the right fake borrow semantics 😸] ( https://github.com/rust-lang/rust/pull/135748 )
148
+ * [ make comma separated lists of anything easier to make for errors] ( https://github.com/rust-lang/rust/pull/136368 )
149
+ * [ make crate AST mutation accessible for driver callback] ( https://github.com/rust-lang/rust/pull/136214 )
150
+ * [ manually walk into WF obligations in ` BestObligation ` proof tree visitor] ( https://github.com/rust-lang/rust/pull/135900 )
151
+ * [ merge ` PatKind::Path ` into ` PatKind::Expr ` ] ( https://github.com/rust-lang/rust/pull/134248 )
152
+ * [ miri: improve error when ` offset_from ` preconditions are violated] ( https://github.com/rust-lang/rust/pull/136438 )
153
+ * [ miri: make float min/max non-deterministic] ( https://github.com/rust-lang/rust/pull/136348 )
154
+ * [ miri: optimize zeroed alloc] ( https://github.com/rust-lang/rust/pull/136035 )
155
+ * [ notes on types/traits used for in-memory query caching] ( https://github.com/rust-lang/rust/pull/136484 )
156
+ * [ omit argument names from function pointers that do not have argument names] ( https://github.com/rust-lang/rust/pull/136411 )
157
+ * [ omit unused args warnings for intrinsics without body] ( https://github.com/rust-lang/rust/pull/135840 )
158
+ * [ overhaul ` rustc_middle::util ` ] ( https://github.com/rust-lang/rust/pull/136336 )
159
+ * [ pass spans to ` perform_locally_in_new_solver ` ] ( https://github.com/rust-lang/rust/pull/136066 )
160
+ * [ properly check that array length is valid type during built-in unsizing in index] ( https://github.com/rust-lang/rust/pull/136205 )
161
+ * [ reject unsound toggling of Arm atomics-32 target feature] ( https://github.com/rust-lang/rust/pull/136170 )
162
+ * [ shorten error message for callable with wrong return type] ( https://github.com/rust-lang/rust/pull/136414 )
163
+ * [ suggest considering casting fn item as fn pointer in more cases] ( https://github.com/rust-lang/rust/pull/133382 )
164
+ * [ support ` clobber_abi ` in BPF inline assembly] ( https://github.com/rust-lang/rust/pull/136194 )
165
+ * [ target modifiers (special marked options) are recorded in metainfo] ( https://github.com/rust-lang/rust/pull/133138 )
166
+ * [ target option to require explicit cpu] ( https://github.com/rust-lang/rust/pull/135030 )
167
+ * [ test validity of pattern types] ( https://github.com/rust-lang/rust/pull/136145 )
168
+ * [ use proper type when applying deref adjustment in const] ( https://github.com/rust-lang/rust/pull/136314 )
169
+ * [ use the type-level constant value ` ty::Value ` where needed] ( https://github.com/rust-lang/rust/pull/136430 )
170
+ * [ when encountering unexpected closure return type, point at return type/expression] ( https://github.com/rust-lang/rust/pull/132156 )
171
+ * [ ` miri_get_backtrace ` : stop supporting the v0 protocol] ( https://github.com/rust-lang/miri/pull/4172 )
172
+ * [ miri: added a helper to dedup target OS checks] ( https://github.com/rust-lang/miri/pull/4160 )
173
+ * [ miri: check fixed args number for variadic function] ( https://github.com/rust-lang/miri/pull/4122 )
174
+ * [ miri: files: make read/write take callback to store result] ( https://github.com/rust-lang/miri/pull/4174 )
175
+ * [ miri: increase thread limit for many-seeds mode] ( https://github.com/rust-lang/miri/pull/4168 )
176
+ * [ miri: set ` st_fstype ` of stat on Solaris and Illumos OSes] ( https://github.com/rust-lang/miri/pull/4159 )
177
+ * [ miri: shim Apple's futex primitives] ( https://github.com/rust-lang/miri/pull/4142 )
178
+ * [ miri: use ` deref_pointer_as ` instead of ` deref_pointer ` ] ( https://github.com/rust-lang/miri/pull/4140 )
179
+ * [ stabilize ` const_black_box ` ] ( https://github.com/rust-lang/rust/pull/135414 )
180
+ * [ stabilize ` once_wait ` ] ( https://github.com/rust-lang/rust/pull/136360 )
181
+ * [ optimize ` slice::ptr_rotate ` for small rotates] ( https://github.com/rust-lang/rust/pull/135847 )
182
+ * [ implement all mix/max functions in a (hopefully) more optimization amendable way] ( https://github.com/rust-lang/rust/pull/136307 )
183
+ * [ fix off-by-one error causing ` slice::sort ` to abort the program] ( https://github.com/rust-lang/rust/pull/136163 )
184
+ * [ don't build out of line atomics support code for uefi] ( https://github.com/rust-lang/compiler-builtins/pull/752 )
185
+ * [ uefi: implement path] ( https://github.com/rust-lang/rust/pull/135475 )
186
+ * [ cargo: conditionally mark the ` test ` cfg as a well known cfg] ( https://github.com/rust-lang/cargo/pull/15007 )
187
+ * [ cargo: don't suggest ` cargo login ` when using incompatible credental providers] ( https://github.com/rust-lang/cargo/pull/15124 )
188
+ * [ apply LTO config to rustdoc] ( https://github.com/rust-lang/rust/pull/135832 )
189
+ * [ rustdoc: add ` --output-format=doctest ` command-line flag] ( https://github.com/rust-lang/rust/pull/134531 )
190
+ * [ rustdoc: add sans-serif font setting] ( https://github.com/rust-lang/rust/pull/133636 )
191
+ * [ rustdoc: always use a channel when linking to doc.rust-lang.org] ( https://github.com/rust-lang/rust/pull/134807 )
192
+ * [ bindgen: ` process_comment ` : Use last defined callback] ( https://github.com/rust-lang/rust-bindgen/pull/3103 )
193
+ * [ bindgen: use ` link_name ` for dynamic library loading] ( https://github.com/rust-lang/rust-bindgen/pull/3101 )
194
+ * [ clippy: ` needless_option_take ` : add autofix] ( https://github.com/rust-lang/rust-clippy/pull/14042 )
195
+ * [ clippy: add ` manual_slice_fill ` lint] ( https://github.com/rust-lang/rust-clippy/pull/14082 )
196
+ * [ clippy: autofix for ` cmp_null ` ] ( https://github.com/rust-lang/rust-clippy/pull/14122 )
197
+ * [ clippy: autofix for ` redundant_else ` lint] ( https://github.com/rust-lang/rust-clippy/pull/13936 )
198
+ * [ clippy: do not remove semicolon if it changes the block type] ( https://github.com/rust-lang/rust-clippy/pull/14103 )
199
+ * [ clippy: new lint for ` and_then ` when returning Option or Result] ( https://github.com/rust-lang/rust-clippy/pull/14051 )
200
+ * [ clippy: fix escaping problem in ` write_literal ` and ` print_literal ` lint suggestion] ( https://github.com/rust-lang/rust-clippy/pull/13990 )
201
+ * [ clippy: include generic arguments when suggesting a closure η-reduction] ( https://github.com/rust-lang/rust-clippy/pull/14105 )
202
+ * [ clippy: move ` format_push_string ` and ` format_collect ` to pedantic] ( https://github.com/rust-lang/rust-clippy/pull/13894 )
203
+ * [ clippy: new ` manual_option_as_slice ` lint] ( https://github.com/rust-lang/rust-clippy/pull/13901 )
204
+ * [ clippy: new lint: ` precedence_bits ` , with recent additions to precedence] ( https://github.com/rust-lang/rust-clippy/pull/14115 )
205
+ * [ rust-analyzer: disable ` Receiver ` based autoderef temporarily] ( https://github.com/rust-lang/rust-analyzer/pull/19061 )
206
+ * [ rust-analyzer: ensure ` completion_item_hash ` serializes items uniquely] ( https://github.com/rust-lang/rust-analyzer/pull/19072 )
207
+ * [ rust-analyzer: fix scip indexing of module names] ( https://github.com/rust-lang/rust-analyzer/pull/19062 )
208
+ * [ rust-analyzer: fix some mir eval/lowerings] ( https://github.com/rust-lang/rust-analyzer/pull/19086 )
209
+ * [ rust-analyzer: properly handle CRLF line endings in the syntax tree view] ( https://github.com/rust-lang/rust-analyzer/pull/19056 )
210
+ * [ rust-analyzer: try to infer array type from slice pattern] ( https://github.com/rust-lang/rust-analyzer/pull/19066 )
211
+ * [ rust-analyzer: remove mutable syntax tree shenanigans from adjustment hints] ( https://github.com/rust-lang/rust-analyzer/pull/19070 )
212
+ * [ rust-analyzer: show status bar in output] ( https://github.com/rust-lang/rust-analyzer/pull/19057 )
110
213
111
214
### Rust Compiler Performance Triage
112
215
@@ -295,7 +398,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
295
398
296
399
# Quote of the Week
297
400
298
- <!-- QOTW goes here -->
401
+ > If your rust code compiles and you don't use "unsafe", that is a pretty good certification.
402
+
403
+ – [ Richard Gould about Rust certifications on rust-users] ( https://users.rust-lang.org/t/recognized-rust-certification/124906/11 )
404
+
405
+ Thanks to [ ZiCog] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1657 ) for the suggestion!
299
406
300
407
[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
301
408
0 commit comments