@@ -33,35 +33,55 @@ and just ask the editors to select the category.
33
33
-->
34
34
35
35
### Official
36
+ * [ Announcing five new members of the compiler team] ( https://blog.rust-lang.org/inside-rust/2025/05/30/compiler-team-new-members/ )
37
+ * [ Redesigning the Initial Bootstrap Sequence] ( https://blog.rust-lang.org/inside-rust/2025/05/29/redesigning-the-initial-bootstrap-sequence/ )
36
38
37
39
### Foundation
38
40
39
41
### Newsletters
40
42
41
43
### Project/Tooling Updates
44
+ * [ ICU4X 2.0 released!] ( https://blog.unicode.org/2025/05/icu4x-20-released.html )
45
+ * [ Freya 0.3] ( https://freyaui.dev/posts/0.3 )
46
+ * [ godot-rust May 2025 dev update] ( https://godot-rust.github.io/dev/may-2025-update/ )
42
47
* [ What's new in SeaORM 1.1.12] ( https://www.sea-ql.org/blog/2025-06-01-whats-new-in-sea-orm-1.1/ )
43
- * [ git-cliff 2.9.0 is released!] ( https://git-cliff.org/blog/2.9.0 )
48
+ * [ git-cliff 2.9.0 is released!] ( https://git-cliff.org/blog/2.9.0/ )
44
49
* [ Ratatui's "Rat in the Wild" Challenge] ( https://github.com/ratatui/ratatui/discussions/1886 )
50
+ * [ rust-analyzer changelog #288 ] ( https://rust-analyzer.github.io/thisweek/2025/06/02/changelog-288.html )
45
51
* [ Ratatui Block Border Merging] ( https://jslazak.com/ratatui-border-merging/ )
46
52
47
53
### Observations/Thoughts
54
+ * [ parking_lot: ffffffffffffffff...] ( https://fly.io/blog/parking-lot-ffffffffffffffff/ )
55
+ * [ How to deal with Rust dependencies] ( https://notgull.net/rust-dependencies/ )
48
56
* [ In Praise of Shuttle: Oxidizing the Capibara Web API] ( https://justinwoodring.com/blog/rewriting-the-capibara-web-api-in-rust/ )
49
57
* [ Reducing Cargo target directory size with -Zno-embed-metadata] ( https://kobzol.github.io/rust/rustc/2025/06/02/reduce-cargo-target-dir-size-with-z-no-embed-metadata.html )
50
58
* [ Designing Error Types in Rust Libraries] ( https://d34dl0ck.me/rust-bites-designing-error-types-in-rust-libraries/index.html )
51
- * [ How we wrap external C and C++ libraries in Rust] ( https://www.evolvebenchmark.com/blog-posts/how-we-wrap-external-c-and-cpp-libraries-in-rust )
59
+ * [ Why Use Structured Errors in Rust Applications?] ( https://home.expurple.me/posts/why-use-structured-errors-in-rust-applications/ )
60
+ * [ video] [ The virtue of unsynn] ( https://www.youtube.com/watch?v=YtbUzIQw-so )
61
+ * [ audio] [ Proxying is just dumb routing] ( https://sdr-podcast.com/episodes/proxying-is-just-dumb-routing/ )
62
+ * [ audio] [ David Lattimore - Faster Linker, Faster Builds] ( https://timclicks.dev/podcast/david-lattimore-faster-linker-faster-builds )
63
+ * [ audio] [ Rust with Niko Matsakis] ( https://corrode.dev/podcast/s04e04-rust/ )
64
+ * [ audio] [ SWC with DongYoon Kang] ( https://rustacean-station.org/episode/dongyoon-kang/ )
65
+ * [ audio] [ AccessKit with Matt Campbell and Arnold Loubriat] ( https://rustacean-station.org/episode/accesskit-with-matt-campbell-and-arnold-loubriat/ )
52
66
53
67
### Rust Walkthroughs
54
-
68
+ * [ C++ to Rust Phrasebook] ( https://cel.cs.brown.edu/crp/ )
69
+ * [ Async Traits Can Be Directly Backed By Manual Future Impls] ( https://blog.yoshuawuyts.com/async-traits-can-be-directly-backed-by-manual-future-impls/ )
70
+ * [ How we structure our build.rs in Rust] ( https://www.evolvebenchmark.com/blog-posts/how-we-wrap-external-c-and-cpp-libraries-in-rust )
71
+ * [ video] [ Start a new Bevy 2d Game with the Bevy CLI] ( https://www.youtube.com/watch?v=ez4oGeM3X2o )
55
72
* [ video] [ Build with Naz : Parse non-slice input with nom] ( https://www.youtube.com/watch?v=3IzAweJGdZU )
56
73
57
74
### Research
75
+ * [ A first look at ROS 2 applications written in asynchronous Rust] ( https://arxiv.org/abs/2505.21323 )
58
76
59
77
### Miscellaneous
60
78
* [ Rethinking Data Streaming With Rust And InfinyOn] ( https://filtra.io/rust/interviews/infinyon-jun-25 )
61
79
62
80
## Crate of the Week
63
81
64
- <!-- COTW goes here -->
82
+ This week's crate is [ context-logger] ( https://github.com/alekseysidorov/context-logger ) , a lightweight, ergonomic library for adding structured context to your logs.
83
+
84
+ Thanks to [ Aleksey Sidorov] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1440 ) for the self-suggestion!
65
85
66
86
[ Please submit your suggestions and votes for next week] [ submit_crate ] !
67
87
@@ -109,7 +129,71 @@ If you are an event organizer hoping to expand the reach of your event, please s
109
129
110
130
## Updates from the Rust Project
111
131
112
- <!-- Rust updates go here -->
132
+ 529 pull requests were [ merged in the last week] [ merged ]
133
+
134
+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-05-27..2025-06-03
135
+
136
+ #### Compiler
137
+
138
+ * [ fix spans for unsafe binders] ( https://github.com/rust-lang/rust/pull/141781 )
139
+ * [ PGO new solver] ( https://github.com/rust-lang/rust/pull/141453 )
140
+ * [ add additional ` TypeFlags ` fast paths] ( https://github.com/rust-lang/rust/pull/141581 )
141
+ * [ add fast path for maybe-initializedness in liveness] ( https://github.com/rust-lang/rust/pull/141667 )
142
+
143
+ #### Library
144
+
145
+ * [ redesign stage 0 std] ( https://github.com/rust-lang/rust/pull/119899 )
146
+ * [ implement ` ((un)checked_)exact_div ` methods for integers] ( https://github.com/rust-lang/rust/pull/141237 )
147
+ * [ add Range parameter to ` BTreeMap::extract_if ` and ` BTreeSet::extract_if ` ] ( https://github.com/rust-lang/rust/pull/140825 )
148
+ * [ add ` CStr::display ` ] ( https://github.com/rust-lang/rust/pull/139994 )
149
+ * [ add ` Result::map_or_default ` and ` Option::map_or_default ` ] ( https://github.com/rust-lang/rust/pull/141659 )
150
+ * [ add ` From<TryLockError> ` for ` io::Error ` ] ( https://github.com/rust-lang/rust/pull/141312 )
151
+ * [ add ` const ` support for float rounding methods] ( https://github.com/rust-lang/rust/pull/141521 )
152
+ * [ add ` data_ptr ` method to Mutex and RwLock] ( https://github.com/rust-lang/rust/pull/140369 )
153
+
154
+ #### Cargo
155
+
156
+ * [ trim-paths: remap all paths to ` build.build-dir ` ] ( https://github.com/rust-lang/cargo/pull/15614 )
157
+ * [ fix cargo add overwriting symlinked Cargo.toml files] ( https://github.com/rust-lang/cargo/pull/15281 )
158
+
159
+ #### Rustdoc
160
+
161
+ * [ cleanups relating to allocations] ( https://github.com/rust-lang/rust/pull/141573 )
162
+ * [ display ` doc(cfg(false)) ` properly] ( https://github.com/rust-lang/rust/pull/141747 )
163
+ * [ linking to a local proc macro no longer warns] ( https://github.com/rust-lang/rust/pull/141411 )
164
+ * [ use descriptive tooltip if doctest is conditionally ignored] ( https://github.com/rust-lang/rust/pull/141517 )
165
+
166
+ #### Clippy
167
+
168
+ * [ ` explicit_deref_methods ` : do not lint on method chains] ( https://github.com/rust-lang/rust-clippy/pull/14921 )
169
+ * [ ` needless_return ` : look inside ` else if ` parts as well] ( https://github.com/rust-lang/rust-clippy/pull/14798 )
170
+ * [ ` while_let_loop ` : Include ` let ` assignment in suggestion] ( https://github.com/rust-lang/rust-clippy/pull/14756 )
171
+ * [ add lint ` infallible_try_from ` ] ( https://github.com/rust-lang/rust-clippy/pull/14813 )
172
+ * [ clean-up ` modulo_arithmetic ` ] ( https://github.com/rust-lang/rust-clippy/pull/14898 )
173
+ * [ extend ` manual_is_variant_and lint ` to check for boolean map comparisons] ( https://github.com/rust-lang/rust-clippy/pull/14646 )
174
+ * [ fix ` dbg_macro ` fail to handle async coroutine desugar] ( https://github.com/rust-lang/rust-clippy/pull/14937 )
175
+ * [ fix ` semicolon_outside_block ` suggests wrongly when inside macros] ( https://github.com/rust-lang/rust-clippy/pull/14954 )
176
+ * [ improve wording of ` manual_contains ` docs] ( https://github.com/rust-lang/rust-clippy/pull/14917 )
177
+ * [ new restriction lint: ` pointer_format ` ] ( https://github.com/rust-lang/rust-clippy/pull/14792 )
178
+ * [ optimize ` unit_return_expecting_ord ` ] ( https://github.com/rust-lang/rust-clippy/pull/14905 )
179
+ * [ use interned symbols instead of strings in more places] ( https://github.com/rust-lang/rust-clippy/pull/14855 )
180
+
181
+ #### Rust-Analyzer
182
+
183
+ * [ account for ` Generate ` actions when filtering the allowed ones] ( https://github.com/rust-lang/rust-analyzer/pull/19899 )
184
+ * [ add a quickfix for accessing a private field of a ` struct ` ] ( https://github.com/rust-lang/rust-analyzer/pull/19869 )
185
+ * [ add support for type-erased ` Semantics<'db, dyn HirDatabase> ` , by use of ` DB: ?Sized ` ] ( https://github.com/rust-lang/rust-analyzer/pull/19850 )
186
+ * [ enable assist edit for ` tuple<->named struct ` for the ` struct ` and visiblity keywords] ( https://github.com/rust-lang/rust-analyzer/pull/19901 )
187
+ * [ desugar assist for ` let pat = expr?; ` → ` let else ` ] ( https://github.com/rust-lang/rust-analyzer/pull/19881 )
188
+ * [ enhance renaming to include identifier variations that are generated by macros] ( https://github.com/rust-lang/rust-analyzer/pull/19893 )
189
+ * [ render padding information when hovering on structs] ( https://github.com/rust-lang/rust-analyzer/pull/19876 )
190
+ * [ cycle handlers for ` HirDatabase::infer, const_param_ty_with_diagnostics ` ] ( https://github.com/rust-lang/rust-analyzer/pull/19894 )
191
+ * [ fix IDE layer not resolving some macro calls] ( https://github.com/rust-lang/rust-analyzer/pull/19879 )
192
+ * [ fix import insertion not being fully cfg aware] ( https://github.com/rust-lang/rust-analyzer/pull/19890 )
193
+ * [ fix inference of ` AsyncFnX ` return type] ( https://github.com/rust-lang/rust-analyzer/pull/19872 )
194
+ * [ handle included files better in IDE layer] ( https://github.com/rust-lang/rust-analyzer/pull/19880 )
195
+ * [ recognize salsa cycles in ` thread_result_to_response ` ] ( https://github.com/rust-lang/rust-analyzer/pull/19888 )
196
+ * [ skip pattern analysis on type mismatches] ( https://github.com/rust-lang/rust-analyzer/pull/19875 )
113
197
114
198
### Rust Compiler Performance Triage
115
199
@@ -323,7 +407,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
323
407
324
408
# Quote of the Week
325
409
326
- <!-- QOTW goes here -->
410
+ > Rust-based Python type checkers are like buses - you wait ages for one and then two come along at once.
411
+
412
+ – [ u/fiddle_n on r/rustjerk] ( https://www.reddit.com/r/rustjerk/comments/1kx8uk8/comment/muns9to )
413
+
414
+ Thanks to [ Brian Kung] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1695 ) for the suggestion!
327
415
328
416
[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
329
417
0 commit comments