@@ -32,45 +32,66 @@ and just ask the editors to select the category.
3232
3333-->
3434
35+
3536### Official
3637
3738### Foundation
3839
3940### Newsletters
4041
4142### Project/Tooling Updates
43+ * [ Are We Embedded Yet? #2 ] ( https://jslazak.com/are-we-embedded-yet-2/ )
4244
4345### Observations/Thoughts
46+ * [ Rewriting SymCrypt in Rust to modernize Microsoft’s cryptographic library] ( https://www.microsoft.com/en-us/research/blog/rewriting-symcrypt-in-rust-to-modernize-microsofts-cryptographic-library/ )
47+ * [ Why doesn’t Rust care more about compiler performance?] ( https://kobzol.github.io/rust/rustc/2025/06/09/why-doesnt-rust-care-more-about-compiler-performance.html )
48+ * [ Hedge funds are replacing a programming language with Rust, but it's not C++] ( https://www.efinancialcareers.com/news/rust-replacing-c-programming-language-hedge-fund )
49+ * [ The Concurrency Trap: How An Atomic Counter Stalled A Pipeline] ( https://www.conviva.com/platform/the-concurrency-trap-how-an-atomic-counter-stalled-a-pipeline/ )
50+ * [ Rust For Foundational Software] ( https://corrode.dev/blog/foundational-software/ )
51+ * [ 10 years of betting on Rust] ( https://tably.com/tably/10-years-of-betting-on-rust )
52+ * [ Report on variadic generics discussions at RustWeek 2025.] ( https://poignardazur.github.io/2025/06/07/report-on-variadics-rustweek/ )
53+ * [ Zero-cost Functional Records in Rust] ( https://ecency.com/rust-lang/@jonwolski/zero-cost-functional-records-in-rust )
54+ * [ A plan for SIMD] ( https://linebender.org/blog/a-plan-for-simd/ )
55+ * [ When is a Rust function "unsafe"?] ( https://crescentro.se/posts/when-unsafe/ )
56+ * [ video playlist] [ RustWeek 2025] ( https://www.youtube.com/playlist?list=PL8Q1w7Ff68DCEXiGidlM0DMn8ztjlUlez )
4457
4558### Rust Walkthroughs
4659* [ Introduction to embedded development with Rust: Overview of the ecosystem] ( https://kerkour.com/introduction-to-embedded-development-with-rust )
60+ * [ Achieving <100 ms Latency for Remote Control with WebRTC] ( https://gethopp.app/blog/latency-exploration )
61+ * [ Patterns for Modeling Overlapping Variant Data in Rust] ( https://mcmah309.github.io/posts/patterns-for-modeling-overlapping-variant-data-in-rust/ )
62+ * [ Is Rust faster than C?] ( https://steveklabnik.com/writing/is-rust-faster-than-c/ )
63+ * [ video] [ Introducing facet: Reflection for Rust] ( https://www.youtube.com/watch?v=0mqFCqw_XvI )
4764
4865### Research
4966
5067### Miscellaneous
68+ * [ Getting A Read On Rust With Trainer, Consultant, and Author Herbert Wolverson] ( https://filtra.io/rust/interviews/ardan-jun-25 )
69+ * [ video] [ Julian Hofer - Pixi: the missing companion to cargo] ( https://www.youtube.com/watch?v=Hso3TQx13b0 )
5170
5271## Crate of the Week
5372
54- <!-- COTW goes here -->
73+ This week's crate is [ optics] ( https://crates.io/crates/optics ) , a typesafe, fully featured lens library.
74+
75+ Thanks to [ Akos Vandra] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1442 ) 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-
6282An important step for RFC implementation is for people to experiment with the
63- implementation and give feedback, especially before stabilization. The following
64- RFCs would benefit from user testing before moving forward:
83+ implementation and give feedback, especially before stabilization.
6584
66- <!-- Calls for Testing go here, use this format:
67- * [<RFC Topic>](<RFC URL>)
68- * [Tracking Issue](<Tracking Issue URL>)
69- * [Testing steps](<Testing Steps URL>)
70- -->
71- <!-- or if there are no new or updated RFCs this week, use: -->
72- <!-- * *No New or Updated RFCs were created this week.* -->
73- <!-- Remember to remove the `call-for-testing` label from the RFC so that the maintainer can signal for testers again, if desired. -->
85+ If you are a feature implementer and would like your RFC to appear in this list, add a
86+ ` call-for-testing ` label to your RFC along with a comment providing testing instructions and/or
87+ guidance on which aspect(s) of the feature need testing.
88+
89+ * * No calls for testing were issued this week by [ Rust] ( https://github.com/rust-lang/rust/labels/call-for-testing ) ,
90+ [ Rust language RFCs] ( https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing ) ,
91+ [ Cargo] ( https://github.com/rust-lang/cargo/labels/call-for-testing ) or
92+ [ Rustup] ( https://github.com/rust-lang/rustup/labels/call-for-testing ) .*
93+
94+ [ 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.
7495
7596### [ RFCs] ( https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing )
7697
@@ -110,58 +131,122 @@ If you are an event organizer hoping to expand the reach of your event, please s
110131
111132## Updates from the Rust Project
112133
113- <!-- Rust updates go here -->
134+ 516 pull requests were [ merged in the last week] [ merged ]
135+
136+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-06-03..2025-06-10
137+
138+ #### Compiler
139+
140+ * [ add (back) ` unsupported_calling_conventions ` lint to reject more invalid calling conventions] ( https://github.com/rust-lang/rust/pull/141435 )
141+ * [ add a new ` mismatched-lifetime-syntaxes ` lint] ( https://github.com/rust-lang/rust/pull/138677 )
142+ * [ fast path for stalled obligations on self ty] ( https://github.com/rust-lang/rust/pull/141681 )
143+ * [ simplify and optimize ` VecCache ` 's ` SlotIndex::from_index ` ] ( https://github.com/rust-lang/rust/pull/142095 )
144+ * [ rework ` collect_and_apply ` to not rely on size hint for optimization] ( https://github.com/rust-lang/rust/pull/141652 )
145+ * [ miri: TB: add flag to disable the more precise interior mutability tracking] ( https://github.com/rust-lang/miri/pull/4376 )
146+ * [ miri: native-lib: allow multiple libraries and/or dirs] ( https://github.com/rust-lang/miri/pull/4372 )
147+
148+ #### Library
149+
150+ * [ stabilise ` os_string_pathbuf_leak ` ] ( https://github.com/rust-lang/rust/pull/137992 )
151+ * [ stabilize ` const_eq_ignore_ascii_case ` ] ( https://github.com/rust-lang/rust/pull/142065 )
152+ * [ stabilize ` nonnull_provenance ` ] ( https://github.com/rust-lang/rust/pull/142238 )
153+ * [ stabilize ` sha512 ` , ` sm3 ` and ` sm4 ` for x86] ( https://github.com/rust-lang/rust/pull/140767 )
154+ * [ stabilize ` tcp_quickack ` ] ( https://github.com/rust-lang/rust/pull/129121 )
155+ * [ bootstrap: build std sans leaf frame pointers] ( https://github.com/rust-lang/rust/pull/141800 )
156+ * [ make ` NonZero<char> ` possible] ( https://github.com/rust-lang/rust/pull/141001 )
157+ * [ optimize ` Seek::stream_len ` impl for ` File ` ] ( https://github.com/rust-lang/rust/pull/125087 )
158+
159+ #### Clippy
160+
161+ * [ ` doc_suspicious_footnotes ` : lint text that looks like a footnote] ( https://github.com/rust-lang/rust-clippy/pull/14708 )
162+ * [ ` missing_const_for_fn ` : consider constness of instance] ( https://github.com/rust-lang/rust-clippy/pull/14759 )
163+ * [ ` zombie_processes ` : do not complain about early early returns] ( https://github.com/rust-lang/rust-clippy/pull/14912 )
164+ * [ add new lint: ` ip_constant ` ] ( https://github.com/rust-lang/rust-clippy/pull/14878 )
165+ * [ do not lint macro generated codes] ( https://github.com/rust-lang/rust-clippy/pull/14976 )
166+ * [ do not recurse indefinitely while checking for inner mutability] ( https://github.com/rust-lang/rust-clippy/pull/14965 )
167+ * [ fix ` branches_sharing_code ` suggests wrongly when dealing with macros] ( https://github.com/rust-lang/rust-clippy/pull/14907 )
168+ * [ fix ` create_dir ` ignores paths in suggestions] ( https://github.com/rust-lang/rust-clippy/pull/15011 )
169+ * [ fix ` match_single_binding ` misses curlies on type signatures] ( https://github.com/rust-lang/rust-clippy/pull/15017 )
170+ * [ fix ` std_instead_of_core ` FP when part of the ` use ` cannot be replaced] ( https://github.com/rust-lang/rust-clippy/pull/15016 )
171+ * [ fix ` unnecessary_debug_formatting ` FP inside ` Debug ` impl] ( https://github.com/rust-lang/rust-clippy/pull/14955 )
172+ * [ fix false positive for ` unused_unit ` ] ( https://github.com/rust-lang/rust-clippy/pull/14962 )
173+ * [ fix suggestion-causes-error of ` print_literal ` and ` write_literal ` ] ( https://github.com/rust-lang/rust-clippy/pull/14961 )
174+ * [ introduce ` coerce_container_to_any ` ] ( https://github.com/rust-lang/rust-clippy/pull/14812 )
175+ * [ invert suggestion if pointer is tested for non-nullness] ( https://github.com/rust-lang/rust-clippy/pull/15015 )
176+ * [ lint reversed ordering in partial ord impl] ( https://github.com/rust-lang/rust-clippy/pull/14945 )
177+ * [ use interned strings when possible, for efficiency purposes] ( https://github.com/rust-lang/rust-clippy/pull/14963 )
178+
179+ #### Rust-Analyzer
180+
181+ * [ better parser recovery for macro calls in type bound position] ( https://github.com/rust-lang/rust-analyzer/pull/19933 )
182+ * [ add ` dyn ` keyword inlay hints] ( https://github.com/rust-lang/rust-analyzer/pull/19922 )
183+ * [ implement attribute completions for diagnostics module] ( https://github.com/rust-lang/rust-analyzer/pull/19908 )
184+ * [ always include quickfixes for diagnostics, even when diagnostics are disabled] ( https://github.com/rust-lang/rust-analyzer/pull/19935 )
185+ * [ do not error at impls for unsized types that do not include ` where Self: Sized ` items] ( https://github.com/rust-lang/rust-analyzer/pull/19963 )
186+ * [ record macro calls for fields in ` ChildBySource ` impls] ( https://github.com/rust-lang/rust-analyzer/pull/19937 )
187+ * [ record macro calls in signatures in ` ChildBySource ` impls] ( https://github.com/rust-lang/rust-analyzer/pull/19932 )
188+ * [ stabilize the "JSON is not Rust" diagnostic] ( https://github.com/rust-lang/rust-analyzer/pull/19949 )
189+ * [ stabilize unlinked file diagnostic] ( https://github.com/rust-lang/rust-analyzer/pull/19936 )
190+ * [ hir-ty: add incremental tests checking for ` infer ` invalidation] ( https://github.com/rust-lang/rust-analyzer/pull/19914 )
191+ * [ make ` Semantics<'db, DB> ` support ` Semantics<'db, dyn HirDatabase> ` , take two] ( https://github.com/rust-lang/rust-analyzer/pull/19930 )
114192
115193### Rust Compiler Performance Triage
116194
117- <!-- Perf results go here -->
195+ Mostly positive week, with a lot of improvements in the type system, especially in new solver and one big win in caching code. Regressions come from new warnings, with outsized impact on one benchmark with a lot of generated code.
196+
197+ Triage done by ** @panstromek ** .
198+ Revision range: [ 2fc3deed..c31cccb7] ( https://perf.rust-lang.org/?start=2fc3deed9fcb8762ad57191e0195f06f7543e4a5&end=c31cccb7b5cc098b1a8c1794ed38d7fdbec0ccb0&absolute=false&stat=instructions%3Au )
199+
200+ ** Summary** :
201+
202+ | (instructions: u ) | mean | range | count |
203+ | :----------------------------------:| :-----:| :---------------:| :-----:|
204+ | Regressions ❌ <br /> (primary) | 3.1% | [ 0.3%, 8.5%] | 22 |
205+ | Regressions ❌ <br /> (secondary) | 0.6% | [ 0.2%, 0.9%] | 3 |
206+ | Improvements ✅ <br /> (primary) | -1.0% | [ -3.4%, -0.2%] | 151 |
207+ | Improvements ✅ <br /> (secondary) | -3.5% | [ -66.5%, -0.2%] | 146 |
208+ | All ❌✅ (primary) | -0.4% | [ -3.4%, 8.5%] | 173 |
209+
210+ [ Full report here] ( https://github.com/rust-lang/rustc-perf/blob/7a1e00ae0a30c783bdfa8e3c35e3b49ce88b58e9/triage/2025-06-09.md )
118211
119212### [ Approved RFCs] ( https://github.com/rust-lang/rfcs/commits/master )
120213
121214Changes to Rust follow the Rust [ RFC (request for comments) process] ( https://github.com/rust-lang/rfcs#rust-rfcs ) . These
122215are the RFCs that were approved for implementation this week:
123216
124- <!-- Approved RFCs go here, use this format: * [Topic](URL) -->
125- <!-- or if none were approved this week, use: * *No RFCs were approved this week.* -->
126- <!-- * []() -->
127-
128- <!--
129- ### [Approved Major Change Proposals (MCP)](https://forge.rust-lang.org/compiler/mcp.html)
130- <!~~ MCPs occur infrequently, so this section is commented out by default. ~~>
131- <!~~ MCPs which have been approved or rejected this week go here, use this format: * [major change accepted|rejected] [Topic](URL) ~~>
132- -->
217+ * * No RFCs were approved this week.*
133218
134219### Final Comment Period
135220
136221Every week, [ the team] ( https://www.rust-lang.org/team.html ) announces the 'final comment period' for RFCs and key PRs
137222which are reaching a decision. Express your opinions now.
138223
139- #### [ RFCs] ( https://github.com/rust-lang/rfcs/labels/final-comment-period )
140- <!-- RFCs which have entered FCP go here, use this format: * [disposition: merge|close] [Topic](URL) -->
141- <!-- or if none entered FCP this week, use: * *No RFCs entered Final Comment Period this week.* -->
142- <!-- * [disposition: ] []() -->
143-
144224#### Tracking Issues & PRs
145- <!-- Tracking Issues which have entered FCP go here, use this format: * [disposition: merge|close] [Topic](URL) -->
146- <!-- or if none entered FCP this week, use: -->
147- <!-- * *No Tracking Issues or PRs entered Final Comment Period this week.* -->
148- <!-- * [disposition: ] []() -->
149-
150225##### [ Rust] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
151-
152- ##### [ Cargo] ( https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
153-
154- ##### [ Language Team] ( https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+ )
155-
156- ##### [ Language Reference] ( https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
157-
158- ##### [ Unsafe Code Guidelines] ( https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
226+ * [ Tracking Issue for ` mixed_integer_ops_unsigned_sub ` ] ( https://github.com/rust-lang/rust/issues/126043 )
227+ * [ Allow storing ` format_args!() ` in variable] ( https://github.com/rust-lang/rust/pull/140748 )
228+ * [ Tracking Issue for File lock API] ( https://github.com/rust-lang/rust/issues/130994 )
229+ * [ Sized Hierarchy: Part I] ( https://github.com/rust-lang/rust/pull/137944 )
230+ * [ Allow volatile access to non-Rust memory, including address 0] ( https://github.com/rust-lang/rust/pull/141260 )
231+ * [ const-eval: allow constants to refer to mutable/external memory, but reject such constants as patterns] ( https://github.com/rust-lang/rust/pull/140942 )
232+ * [ Report never type lints in dependencies] ( https://github.com/rust-lang/rust/pull/141937 )
233+ * [ builtin dyn impl no guide inference] ( https://github.com/rust-lang/rust/pull/141352 )
234+ * [ Change ` core::iter::Fuse ` 's Default impl to do what its docs say it does] ( https://github.com/rust-lang/rust/pull/140985 )
235+ * [ Stabilize derive(CoercePointee)] ( https://github.com/rust-lang/rust/pull/133820 )
236+ * [ impl ` Default ` for ` array::IntoIter ` ] ( https://github.com/rust-lang/rust/pull/141574 )
237+ * [ Added ` Clone ` implementation for ` ChunkBy ` ] ( https://github.com/rust-lang/rust/pull/138016 )
238+
239+ * No Items entered Final Comment Period this week for
240+ [ Cargo] ( https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) ,
241+ [ Language Reference] ( https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) ,
242+ [ Language Team] ( https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+ ) ,
243+ [ Rust RFCs] ( https://github.com/rust-lang/rfcs/labels/final-comment-period ) or
244+ [ Unsafe Code Guidelines] ( https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) .*
245+
246+ Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
159247
160248#### [ New and Updated RFCs] ( https://github.com/rust-lang/rfcs/pulls )
161- <!-- New or updated RFCs go here, use this format: * [new|updated] [Topic](URL) -->
162- <!-- or if there are no new or updated RFCs this week, use: -->
163- <!-- * *No New or Updated RFCs were created this week.* -->
164- <!-- * [new|updated] []() -->
249+ * [ new] [ RFC: Dedented String Literals] ( https://github.com/rust-lang/rfcs/pull/3830 )
165250
166251## Upcoming Events
167252
@@ -313,7 +398,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
313398
314399# Quote of the Week
315400
316- <!-- QOTW goes here -->
401+ > Gaze not into the abyss, lest you become recognized as an *** abyss domain expert*** , and they expect you keep gazing into the damn thing.
402+
403+ – [ Nick Mathewson on twitter] ( https://x.com/nickm_tor/status/860234274842324993?lang=en )
404+
405+ Thanks to [ robin] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1696 ) for the suggestion!
317406
318407[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
319408
0 commit comments