@@ -32,17 +32,36 @@ and just ask the editors to select the category.
3232
3333-->
3434
35+
3536### Official
37+ * [ Stabilizing naked functions] ( https://blog.rust-lang.org/2025/07/03/stabilizing-naked-functions/ )
3638
3739### Foundation
3840
3941### Newsletters
4042
4143### Project/Tooling Updates
44+ * [ toml v0.9] ( https://epage.github.io/blog/2025/07/toml-09/ )
45+ * [ Announcing dynify: Pin-init trait objects on the stack in stable Rust] ( https://www.reddit.com/r/rust/s/Xinstp8iSx )
46+ * [ What's new in Ratatui 0.30.0?] ( https://www.youtube.com/live/nucLyibb5NU?si=copCqnEK7X5ZC9ry )
47+ * [ Introducing Tyr, a new Rust DRM driver] ( https://www.collabora.com/news-and-blog/news-and-events/introducing-tyr-a-new-rust-drm-driver.html )
4248
4349### Observations/Thoughts
50+ * [ Bootstrapping Rust with GCC] ( https://fractalfir.github.io/generated_html/cg_gcc_bootstrap.html )
51+ * [ The journey towards the best error handling in Rust web frameworks] ( https://mackow.ski/blog/towards-rust-web-best-errors/ )
52+ * [ Unsoundness and accidental features in the #\[ target_feature\] attribute] ( https://predr.ag/blog/unsoundness-and-accidental-features-in-target-feature/ )
53+ * [ Tree-Structured Concurrency II: Replacing Background Tasks With Actors] ( https://blog.yoshuawuyts.com/replacing-tasks-with-actors/ )
54+ * [ Rapid Machine Learning Prototyping in Rust] ( https://ryuru.com/rapid-machine-learning-prototyping-in-rust/ )
55+ * [ 330× faster: Four different ways to speed up your code] ( https://pythonspeed.com/articles/different-ways-speed/ )
56+ * [ Programming Extensible Data Types in Rust with CGP - Part 1: Modular App Construction and Extensible Builders] ( https://contextgeneric.dev/blog/extensible-datatypes-part-1/ )
57+ * [ Making Unsafe Rust a Little Safer: Find Memory Errors in Production with GWP-ASan] ( https://blog.colinbreck.com/making-unsafe-rust-a-little-safer-find-memory-errors-in-production-with-gwp-asan/ )
58+ * [ Deterministic Simulation Testing in Rust: A Theater Of State Machines] ( https://www.polarsignals.com/blog/posts/2025/07/08/dst-rust )
59+ * [ Slint Material Components Tech Preview] ( https://slint.dev/blog/material-comp-tech-preview )
60+ * [ Memory-safe malware: Rust challenges security researchers] ( https://www.techzine.eu/blogs/security/132626/memory-safe-malware-rust-challenges-security-researchers/ )
4461
4562### Rust Walkthroughs
63+ * [ JavaScript is being rewritten in Rust] ( https://endform.dev/blog/js-is-being-rewritten-in-rust/ )
64+ * [ Rust Security Best Practices 2025] ( https://corgea.com/Learn/rust-security-best-practices-2025 )
4665* [ From 'It Might Work' to 'It Will Work': Typestate in Rust] ( https://minikin.me/blog/typestate-in-rust )
4766
4867### Research
@@ -51,59 +70,28 @@ and just ask the editors to select the category.
5170
5271## Crate of the Week
5372
54- <!-- COTW goes here -->
73+ This week's crate is [ flac-coded] ( https://crates.io/crates/flac-codec ) , an implementation of (unsurprisingly) the Free Lossless Audio Codec (FLAC) file format.
74+
75+ Thanks to [ tuffy] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1449 ) for the self-suggestion!
5576
5677[ Please submit your suggestions and votes for next week] [ submit_crate ] !
5778
5879[ submit_crate ] : https://users.rust-lang.org/t/crate-of-the-week/2704
5980
6081## Calls for Testing
61- An important step for feature implementation is for people to experiment with the
82+ An important step for RFC implementation is for people to experiment with the
6283implementation and give feedback, especially before stabilization.
6384
64- If you are a feature implementer and would like your feature to appear in this list, add a
85+ If you are a feature implementer and would like your RFC to appear in this list, add a
6586` call-for-testing ` label to your RFC along with a comment providing testing instructions and/or
6687guidance on which aspect(s) of the feature need testing.
6788
68- <!-- If there are new CfT items this week, use: -->
69- <!--
70- [Repo Name](Repo URL)
71- * [<Feature name>](<Feature URL>)
72- * [Testing steps](<Testing Steps URL>)
73- -->
74- <!-- where `Repo Name` and `Repo URL` are one of:
75- [Rust](https://github.com/rust-lang/rust/labels/call-for-testing),
76- [Rust language RFCs](https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing),
77- [Cargo](https://github.com/rust-lang/cargo/labels/call-for-testing) or
78- [Rustup](https://github.com/rust-lang/rustup/labels/call-for-testing)
79- -->
80-
81- <!-- For all `Repo Names` with no new CfT items this week: use (removing the repos for which new
82- CfT items did appear, of course) -->
83- <!--
84- * *No calls for testing were issued this week by
85- [Rust](https://github.com/rust-lang/rust/labels/call-for-testing),
86- [Rust language RFCs](https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing),
87- [Cargo](https://github.com/rust-lang/cargo/labels/call-for-testing) or
88- [Rustup](https://github.com/rust-lang/rustup/labels/call-for-testing).*
89- -->
9089* * No calls for testing were issued this week by [ Rust] ( https://github.com/rust-lang/rust/labels/call-for-testing ) ,
9190 [ Rust language RFCs] ( https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing ) ,
9291 [ Cargo] ( https://github.com/rust-lang/cargo/labels/call-for-testing ) or
9392 [ Rustup] ( https://github.com/rust-lang/rustup/labels/call-for-testing ) .*
9493
9594[ Let us know] ( https://github.com/rust-lang/this-week-in-rust/issues ) if you would like your feature to be tracked as a part of this list.
96- -->
97-
98- ### [ RFCs] ( https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing )
99-
100- ### [ Rust] ( https://github.com/rust-lang/rust/labels/call-for-testing )
101-
102- ### [ Rustup] ( https://github.com/rust-lang/rustup/labels/call-for-testing )
103-
104- If you are a feature implementer and would like your RFC to appear on the above list, add the new ` call-for-testing `
105- label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature
106- need testing.
10795
10896## Call for Participation; projects and speakers
10997
@@ -133,7 +121,72 @@ If you are an event organizer hoping to expand the reach of your event, please s
133121
134122## Updates from the Rust Project
135123
136- <!-- Rust updates go here -->
124+ 588 pull requests were [ merged in the last week] [ merged ]
125+
126+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-07-01..2025-07-08
127+
128+ #### Compiler
129+ * [ rewrite ` macro_rules! ` parser to not use the MBE engine itself] ( https://github.com/rust-lang/rust/pull/143070 )
130+ * [ loop match: fix 'no terminator on block'] ( https://github.com/rust-lang/rust/pull/143583 )
131+ * [ loop match: handle opaque patterns] ( https://github.com/rust-lang/rust/pull/143276 )
132+ * [ align attr fixes] ( https://github.com/rust-lang/rust/pull/143206 )
133+ * [ avoid suggesting traits from private dependencies] ( https://github.com/rust-lang/rust/pull/143038 )
134+ * [ detect more cases of ` unused_parens ` around types] ( https://github.com/rust-lang/rust/pull/142237 )
135+ * [ make metadata a workproduct and reuse it] ( https://github.com/rust-lang/rust/pull/114669 )
136+ * [ remove some unnecessary ` unsafe ` in VecCache] ( https://github.com/rust-lang/rust/pull/143406 )
137+ * [ start moving wf checking away from HIR] ( https://github.com/rust-lang/rust/pull/142030 )
138+
139+ #### Library
140+ * [ stabilize ` mixed_integer_ops_unsigned_sub ` ] ( https://github.com/rust-lang/rust/pull/143236 )
141+ * [ add ` Vec::into_chunks ` ] ( https://github.com/rust-lang/rust/pull/142138 )
142+ * [ add ` const Rem ` ] ( https://github.com/rust-lang/rust/pull/143040 )
143+ * [ add methods for converting bool to ` Result<(), E> ` ] ( https://github.com/rust-lang/rust/pull/142749 )
144+ * [ change ` {Box,Arc,Rc,Weak}::into_raw ` to only work with ` A = Global ` ] ( https://github.com/rust-lang/rust/pull/141219 )
145+
146+ #### Cargo
147+ * [ publish: Stabilize multi-package publishing] ( https://github.com/rust-lang/cargo/pull/15636 )
148+ * [ implement package feature unification] ( https://github.com/rust-lang/cargo/pull/15684 )
149+ * [ report valid file name when we can't find a build target for ` name = "foo.rs" ` ] ( https://github.com/rust-lang/cargo/pull/15707 )
150+
151+ #### Miri
152+ * [ improve errors for type validity assertion failures] ( https://github.com/rust-lang/rust/pull/143327 )
153+ * [ ` shims::fs ` adding more fields to FileMetadata] ( https://github.com/rust-lang/miri/pull/4444 )
154+
155+ #### Rustdoc
156+ * [ fix rustdoc not correctly showing attributes on re-exports] ( https://github.com/rust-lang/rust/pull/143083 )
157+ * [ don't treat methods under const impls or traits as const] ( https://github.com/rust-lang/rust/pull/143381 )
158+
159+ #### Clippy
160+ * [ ` neg_multiply ` should preserve parenthesis when method is called] ( https://github.com/rust-lang/rust-clippy/pull/15179 )
161+ * [ ` doc_nested_refdefs ` : do not falsely report checkboxes as refdefs] ( https://github.com/rust-lang/rust-clippy/pull/15146 )
162+ * [ ` or_fun_call ` : also lint ` and ` method for ` Option ` /` Result ` ] ( https://github.com/rust-lang/rust-clippy/pull/15073 )
163+ * [ do not lint intrinsics as empty loops] ( https://github.com/rust-lang/rust-clippy/pull/15201 )
164+ * [ do not remove ` as ` if it changes the type] ( https://github.com/rust-lang/rust-clippy/pull/15182 )
165+ * [ don't remove explicit cast to trait object pointer] ( https://github.com/rust-lang/rust-clippy/pull/15145 )
166+ * [ fix ` std-instead-of-core ` false positive when not all items come from the new crate] ( https://github.com/rust-lang/rust-clippy/pull/15165 )
167+ * [ ` redundant_closure_call ` : lint for closures with block] ( https://github.com/rust-lang/rust-clippy/pull/15144 )
168+ * [ improve floating point lint to handle ambiguous type] ( https://github.com/rust-lang/rust-clippy/pull/15133 )
169+ * [ handle potentially-shadowing bindings in ` manual_let_else ` ] ( https://github.com/rust-lang/rust-clippy/pull/15118 )
170+ * [ propagate ` accept-comment-above-attributes ` to statements] ( https://github.com/rust-lang/rust-clippy/pull/15213 )
171+ * [ ` return_and_then ` : prevent false positives in case of a partially used expression] ( https://github.com/rust-lang/rust-clippy/pull/15115 )
172+
173+ #### Rust-Analyzer
174+ * [ add ` AsMut ` , ` Borrow ` and ` BorrowMut ` to minicore and ` famous_defs ` ] ( https://github.com/rust-lang/rust-analyzer/pull/20132 )
175+ * [ add ` fn load_workspace_into_db ` variant for ` ra_ap_load_cargo ` 's fn ` load_workspace ` ] ( https://github.com/rust-lang/rust-analyzer/pull/20144 )
176+ * [ always couple ` --compile-time-deps ` with] ( https://github.com/rust-lang/rust-analyzer/pull/20159 )
177+ * [ include ` enum ` variants in world symbols] ( https://github.com/rust-lang/rust-analyzer/pull/20185 )
178+ * [ fix a case where the link type was ` None ` ] ( https://github.com/rust-lang/rust-analyzer/pull/20192 )
179+ * [ fix diverging destructuring assignments] ( https://github.com/rust-lang/rust-analyzer/pull/20179 )
180+ * [ fix some things with builtin derives] ( https://github.com/rust-lang/rust-analyzer/pull/20167 )
181+ * [ honor ` rust-analyzer.cargo.noDeps ` option when fetching sysroot metadata] ( https://github.com/rust-lang/rust-analyzer/pull/20148 )
182+ * [ improve diagnostic ranges for ` macro_calls! ` ] ( https://github.com/rust-lang/rust-analyzer/pull/20160 )
183+ * [ fix incorrect closure capturing for let exprs] ( https://github.com/rust-lang/rust-analyzer/pull/20161 )
184+ * [ resolve HIR display length issues and improve adjustment tooltips] ( https://github.com/rust-lang/rust-analyzer/pull/20031 )
185+ * [ resolve item in match bind] ( https://github.com/rust-lang/rust-analyzer/pull/20120 )
186+ * [ improve flycheck and build script progress reporting] ( https://github.com/rust-lang/rust-analyzer/pull/20170 )
187+ * [ re-enable fixpoint iteration for variance computation] ( https://github.com/rust-lang/rust-analyzer/pull/20157 )
188+ * [ restructure proc-macro loading erros, differentiate hard error property on kind] ( https://github.com/rust-lang/rust-analyzer/pull/20156 )
189+ * [ workaround missing none group support in builtin macros] ( https://github.com/rust-lang/rust-analyzer/pull/20112 )
137190
138191### Rust Compiler Performance Triage
139192
@@ -144,47 +197,31 @@ If you are an event organizer hoping to expand the reach of your event, please s
144197Changes to Rust follow the Rust [ RFC (request for comments) process] ( https://github.com/rust-lang/rfcs#rust-rfcs ) . These
145198are the RFCs that were approved for implementation this week:
146199
147- <!-- Approved RFCs go here, use this format: * [Topic](URL) -->
148- <!-- or if none were approved this week, use: * *No RFCs were approved this week.* -->
149- <!-- * []() -->
150-
151- <!--
152- ### [Approved Major Change Proposals (MCP)](https://forge.rust-lang.org/compiler/mcp.html)
153- <!~~ MCPs occur infrequently, so this section is commented out by default. ~~>
154- <!~~ MCPs which have been approved or rejected this week go here, use this format: * [major change accepted|rejected] [Topic](URL) ~~>
155- -->
200+ * [ Declarative ` macro_rules! ` derive macros] ( https://github.com/rust-lang/rfcs/pull/3698 )
201+ * [ Declarative ` macro_rules! ` attribute macros] ( https://github.com/rust-lang/rfcs/pull/3697 )
156202
157203### Final Comment Period
158204
159205Every week, [ the team] ( https://www.rust-lang.org/team.html ) announces the 'final comment period' for RFCs and key PRs
160206which are reaching a decision. Express your opinions now.
161207
162- #### [ RFCs] ( https://github.com/rust-lang/rfcs/labels/final-comment-period )
163- <!-- RFCs which have entered FCP go here, use this format: * [disposition: merge|close] [Topic](URL) -->
164- <!-- or if none entered FCP this week, use: * *No RFCs entered Final Comment Period this week.* -->
165- <!-- * [disposition: ] []() -->
166-
167208#### Tracking Issues & PRs
168- <!-- Tracking Issues which have entered FCP go here, use this format: * [disposition: merge|close] [Topic](URL) -->
169- <!-- or if none entered FCP this week, use: -->
170- <!-- * *No Tracking Issues or PRs entered Final Comment Period this week.* -->
171- <!-- * [disposition: ] []() -->
172-
173209##### [ Rust] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
174-
175- ##### [ Cargo] ( https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
176-
177- ##### [ Language Team] ( https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+ )
210+ * [ Tracking Issue for ` const_slice_reverse ` ] ( https://github.com/rust-lang/rust/issues/135120 )
178211
179212##### [ Language Reference] ( https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
213+ * [ &str and &[ u8] have the same layout] ( https://github.com/rust-lang/reference/pull/1848 )
180214
181- ##### [ Unsafe Code Guidelines] ( https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
215+ * No Items entered Final Comment Period this week for
216+ [ Rust RFCs] ( https://github.com/rust-lang/rfcs/labels/final-comment-period ) ,
217+ [ Cargo] ( https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) ,
218+ [ Language Team] ( https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+ ) or
219+ [ Unsafe Code Guidelines] ( https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) .*
220+
221+ Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
182222
183223#### [ New and Updated RFCs] ( https://github.com/rust-lang/rfcs/pulls )
184- <!-- New or updated RFCs go here, use this format: * [new|updated] [Topic](URL) -->
185- <!-- or if there are no new or updated RFCs this week, use: -->
186- <!-- * *No New or Updated RFCs were created this week.* -->
187- <!-- * [new|updated] []() -->
224+ * * No New or Updated RFCs were created this week.*
188225
189226## Upcoming Events
190227
@@ -259,6 +296,8 @@ Rusty Events between 2025-07-09 - 2025-08-06 🦀
259296 * [ ** Lightning Talks July 2025** ] ( https://www.meetup.com/rust-manchester/events/308085035 )
260297* 2025-07-30 | Amsterdam, NL | [ Rust Developers Amsterdam Group] ( https://www.meetup.com/rust-amsterdam-group/events/ )
261298 * [ ** Rust Meetup @ BlockTech** ] ( https://www.meetup.com/rust-amsterdam-group/events/308548455 )
299+ * 2025-07-31 | Augsburg, DE | [ Rust Meetup Augsburg] ( https://rust-augsburg.github.io/meetup )
300+ * [ ** Rust Meetup #14 : Prof. Dr. Claudia Meitinger - Embassy - Möglichkeiten und Herausforderungen im Modul "Interdisciplinary Project"** ] ( https://rust-augsburg.github.io/meetup/Meetup_14.html )
262301
263302### North America
264303* 2025-07-03 | Montréal, QC, CA | [ Rust Montréal] ( https://www.meetup.com/rust-montreal/events/ )
@@ -312,7 +351,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
312351
313352# Quote of the Week
314353
315- <!-- QOTW goes here -->
354+ > You might be asking: why did you rewrite \[ ...\] in Rust? And yeah, I don’t really have a good reason. It’s a hobby project. Like gardening, but with more segfaults.
355+
356+ – [ Collin Richards on their blog] ( https://richardscollin.github.io/tmux-rs/ )
357+
358+ Thanks to [ robin] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1701 ) for the suggestion!
316359
317360[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
318361
0 commit comments