@@ -32,46 +32,68 @@ 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* [ audio] [ What's New in Rust 1.79 and 1.80] ( https://rustacean-station.org/episode/rust-1.79-1.80/ )
4558* [ audio] [ Rust at Work with Ran Reichman Co-Founder and CEO of Flarion] ( https://rustacean-station.org/episode/ran-reichman/ )
4659
4760### Rust Walkthroughs
61+ * [ Introduction to embedded development with Rust: Overview of the ecosystem] ( https://kerkour.com/introduction-to-embedded-development-with-rust )
62+ * [ Achieving <100 ms Latency for Remote Control with WebRTC] ( https://gethopp.app/blog/latency-exploration )
63+ * [ Patterns for Modeling Overlapping Variant Data in Rust] ( https://mcmah309.github.io/posts/patterns-for-modeling-overlapping-variant-data-in-rust/ )
64+ * [ Is Rust faster than C?] ( https://steveklabnik.com/writing/is-rust-faster-than-c/ )
65+ * [ video] [ Introducing facet: Reflection for Rust] ( https://www.youtube.com/watch?v=0mqFCqw_XvI )
4866
4967### Research
5068
5169### Miscellaneous
70+ * [ Getting A Read On Rust With Trainer, Consultant, and Author Herbert Wolverson] ( https://filtra.io/rust/interviews/ardan-jun-25 )
71+ * [ video] [ Julian Hofer - Pixi: the missing companion to cargo] ( https://www.youtube.com/watch?v=Hso3TQx13b0 )
5272
5373## Crate of the Week
5474
55- <!-- COTW goes here -->
75+ This week's crate is [ optics] ( https://crates.io/crates/optics ) , a typesafe, fully featured lens library.
76+
77+ Thanks to [ Akos Vandra] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1442 ) for the self-suggestion!
5678
5779[ Please submit your suggestions and votes for next week] [ submit_crate ] !
5880
5981[ submit_crate ] : https://users.rust-lang.org/t/crate-of-the-week/2704
6082
6183## Calls for Testing
62-
6384An important step for RFC implementation is for people to experiment with the
64- implementation and give feedback, especially before stabilization. The following
65- RFCs would benefit from user testing before moving forward:
85+ implementation and give feedback, especially before stabilization.
6686
67- <!-- Calls for Testing go here, use this format:
68- * [<RFC Topic>](<RFC URL>)
69- * [Tracking Issue](<Tracking Issue URL>)
70- * [Testing steps](<Testing Steps URL>)
71- -->
72- <!-- or if there are no new or updated RFCs this week, use: -->
73- <!-- * *No New or Updated RFCs were created this week.* -->
74- <!-- Remember to remove the `call-for-testing` label from the RFC so that the maintainer can signal for testers again, if desired. -->
87+ If you are a feature implementer and would like your RFC to appear in this list, add a
88+ ` call-for-testing ` label to your RFC along with a comment providing testing instructions and/or
89+ guidance on which aspect(s) of the feature need testing.
90+
91+ * * No calls for testing were issued this week by [ Rust] ( https://github.com/rust-lang/rust/labels/call-for-testing ) ,
92+ [ Rust language RFCs] ( https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing ) ,
93+ [ Cargo] ( https://github.com/rust-lang/cargo/labels/call-for-testing ) or
94+ [ Rustup] ( https://github.com/rust-lang/rustup/labels/call-for-testing ) .*
95+
96+ [ 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.
7597
7698### [ RFCs] ( https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing )
7799
@@ -111,58 +133,122 @@ If you are an event organizer hoping to expand the reach of your event, please s
111133
112134## Updates from the Rust Project
113135
114- <!-- Rust updates go here -->
136+ 516 pull requests were [ merged in the last week] [ merged ]
137+
138+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-06-03..2025-06-10
139+
140+ #### Compiler
141+
142+ * [ add (back) ` unsupported_calling_conventions ` lint to reject more invalid calling conventions] ( https://github.com/rust-lang/rust/pull/141435 )
143+ * [ add a new ` mismatched-lifetime-syntaxes ` lint] ( https://github.com/rust-lang/rust/pull/138677 )
144+ * [ fast path for stalled obligations on self ty] ( https://github.com/rust-lang/rust/pull/141681 )
145+ * [ simplify and optimize ` VecCache ` 's ` SlotIndex::from_index ` ] ( https://github.com/rust-lang/rust/pull/142095 )
146+ * [ rework ` collect_and_apply ` to not rely on size hint for optimization] ( https://github.com/rust-lang/rust/pull/141652 )
147+ * [ miri: TB: add flag to disable the more precise interior mutability tracking] ( https://github.com/rust-lang/miri/pull/4376 )
148+ * [ miri: native-lib: allow multiple libraries and/or dirs] ( https://github.com/rust-lang/miri/pull/4372 )
149+
150+ #### Library
151+
152+ * [ stabilise ` os_string_pathbuf_leak ` ] ( https://github.com/rust-lang/rust/pull/137992 )
153+ * [ stabilize ` const_eq_ignore_ascii_case ` ] ( https://github.com/rust-lang/rust/pull/142065 )
154+ * [ stabilize ` nonnull_provenance ` ] ( https://github.com/rust-lang/rust/pull/142238 )
155+ * [ stabilize ` sha512 ` , ` sm3 ` and ` sm4 ` for x86] ( https://github.com/rust-lang/rust/pull/140767 )
156+ * [ stabilize ` tcp_quickack ` ] ( https://github.com/rust-lang/rust/pull/129121 )
157+ * [ bootstrap: build std sans leaf frame pointers] ( https://github.com/rust-lang/rust/pull/141800 )
158+ * [ make ` NonZero<char> ` possible] ( https://github.com/rust-lang/rust/pull/141001 )
159+ * [ optimize ` Seek::stream_len ` impl for ` File ` ] ( https://github.com/rust-lang/rust/pull/125087 )
160+
161+ #### Clippy
162+
163+ * [ ` doc_suspicious_footnotes ` : lint text that looks like a footnote] ( https://github.com/rust-lang/rust-clippy/pull/14708 )
164+ * [ ` missing_const_for_fn ` : consider constness of instance] ( https://github.com/rust-lang/rust-clippy/pull/14759 )
165+ * [ ` zombie_processes ` : do not complain about early early returns] ( https://github.com/rust-lang/rust-clippy/pull/14912 )
166+ * [ add new lint: ` ip_constant ` ] ( https://github.com/rust-lang/rust-clippy/pull/14878 )
167+ * [ do not lint macro generated codes] ( https://github.com/rust-lang/rust-clippy/pull/14976 )
168+ * [ do not recurse indefinitely while checking for inner mutability] ( https://github.com/rust-lang/rust-clippy/pull/14965 )
169+ * [ fix ` branches_sharing_code ` suggests wrongly when dealing with macros] ( https://github.com/rust-lang/rust-clippy/pull/14907 )
170+ * [ fix ` create_dir ` ignores paths in suggestions] ( https://github.com/rust-lang/rust-clippy/pull/15011 )
171+ * [ fix ` match_single_binding ` misses curlies on type signatures] ( https://github.com/rust-lang/rust-clippy/pull/15017 )
172+ * [ fix ` std_instead_of_core ` FP when part of the ` use ` cannot be replaced] ( https://github.com/rust-lang/rust-clippy/pull/15016 )
173+ * [ fix ` unnecessary_debug_formatting ` FP inside ` Debug ` impl] ( https://github.com/rust-lang/rust-clippy/pull/14955 )
174+ * [ fix false positive for ` unused_unit ` ] ( https://github.com/rust-lang/rust-clippy/pull/14962 )
175+ * [ fix suggestion-causes-error of ` print_literal ` and ` write_literal ` ] ( https://github.com/rust-lang/rust-clippy/pull/14961 )
176+ * [ introduce ` coerce_container_to_any ` ] ( https://github.com/rust-lang/rust-clippy/pull/14812 )
177+ * [ invert suggestion if pointer is tested for non-nullness] ( https://github.com/rust-lang/rust-clippy/pull/15015 )
178+ * [ lint reversed ordering in partial ord impl] ( https://github.com/rust-lang/rust-clippy/pull/14945 )
179+ * [ use interned strings when possible, for efficiency purposes] ( https://github.com/rust-lang/rust-clippy/pull/14963 )
180+
181+ #### Rust-Analyzer
182+
183+ * [ better parser recovery for macro calls in type bound position] ( https://github.com/rust-lang/rust-analyzer/pull/19933 )
184+ * [ add ` dyn ` keyword inlay hints] ( https://github.com/rust-lang/rust-analyzer/pull/19922 )
185+ * [ implement attribute completions for diagnostics module] ( https://github.com/rust-lang/rust-analyzer/pull/19908 )
186+ * [ always include quickfixes for diagnostics, even when diagnostics are disabled] ( https://github.com/rust-lang/rust-analyzer/pull/19935 )
187+ * [ 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 )
188+ * [ record macro calls for fields in ` ChildBySource ` impls] ( https://github.com/rust-lang/rust-analyzer/pull/19937 )
189+ * [ record macro calls in signatures in ` ChildBySource ` impls] ( https://github.com/rust-lang/rust-analyzer/pull/19932 )
190+ * [ stabilize the "JSON is not Rust" diagnostic] ( https://github.com/rust-lang/rust-analyzer/pull/19949 )
191+ * [ stabilize unlinked file diagnostic] ( https://github.com/rust-lang/rust-analyzer/pull/19936 )
192+ * [ hir-ty: add incremental tests checking for ` infer ` invalidation] ( https://github.com/rust-lang/rust-analyzer/pull/19914 )
193+ * [ make ` Semantics<'db, DB> ` support ` Semantics<'db, dyn HirDatabase> ` , take two] ( https://github.com/rust-lang/rust-analyzer/pull/19930 )
115194
116195### Rust Compiler Performance Triage
117196
118- <!-- Perf results go here -->
197+ 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.
198+
199+ Triage done by ** @panstromek ** .
200+ Revision range: [ 2fc3deed..c31cccb7] ( https://perf.rust-lang.org/?start=2fc3deed9fcb8762ad57191e0195f06f7543e4a5&end=c31cccb7b5cc098b1a8c1794ed38d7fdbec0ccb0&absolute=false&stat=instructions%3Au )
201+
202+ ** Summary** :
203+
204+ | (instructions: u ) | mean | range | count |
205+ | :----------------------------------:| :-----:| :---------------:| :-----:|
206+ | Regressions ❌ <br /> (primary) | 3.1% | [ 0.3%, 8.5%] | 22 |
207+ | Regressions ❌ <br /> (secondary) | 0.6% | [ 0.2%, 0.9%] | 3 |
208+ | Improvements ✅ <br /> (primary) | -1.0% | [ -3.4%, -0.2%] | 151 |
209+ | Improvements ✅ <br /> (secondary) | -3.5% | [ -66.5%, -0.2%] | 146 |
210+ | All ❌✅ (primary) | -0.4% | [ -3.4%, 8.5%] | 173 |
211+
212+ [ Full report here] ( https://github.com/rust-lang/rustc-perf/blob/7a1e00ae0a30c783bdfa8e3c35e3b49ce88b58e9/triage/2025-06-09.md )
119213
120214### [ Approved RFCs] ( https://github.com/rust-lang/rfcs/commits/master )
121215
122216Changes to Rust follow the Rust [ RFC (request for comments) process] ( https://github.com/rust-lang/rfcs#rust-rfcs ) . These
123217are the RFCs that were approved for implementation this week:
124218
125- <!-- Approved RFCs go here, use this format: * [Topic](URL) -->
126- <!-- or if none were approved this week, use: * *No RFCs were approved this week.* -->
127- <!-- * []() -->
128-
129- <!--
130- ### [Approved Major Change Proposals (MCP)](https://forge.rust-lang.org/compiler/mcp.html)
131- <!~~ MCPs occur infrequently, so this section is commented out by default. ~~>
132- <!~~ MCPs which have been approved or rejected this week go here, use this format: * [major change accepted|rejected] [Topic](URL) ~~>
133- -->
219+ * * No RFCs were approved this week.*
134220
135221### Final Comment Period
136222
137223Every week, [ the team] ( https://www.rust-lang.org/team.html ) announces the 'final comment period' for RFCs and key PRs
138224which are reaching a decision. Express your opinions now.
139225
140- #### [ RFCs] ( https://github.com/rust-lang/rfcs/labels/final-comment-period )
141- <!-- RFCs which have entered FCP go here, use this format: * [disposition: merge|close] [Topic](URL) -->
142- <!-- or if none entered FCP this week, use: * *No RFCs entered Final Comment Period this week.* -->
143- <!-- * [disposition: ] []() -->
144-
145226#### Tracking Issues & PRs
146- <!-- Tracking Issues which have entered FCP go here, use this format: * [disposition: merge|close] [Topic](URL) -->
147- <!-- or if none entered FCP this week, use: -->
148- <!-- * *No Tracking Issues or PRs entered Final Comment Period this week.* -->
149- <!-- * [disposition: ] []() -->
150-
151227##### [ Rust] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
152-
153- ##### [ Cargo] ( https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
154-
155- ##### [ Language Team] ( https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+ )
156-
157- ##### [ Language Reference] ( https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
158-
159- ##### [ Unsafe Code Guidelines] ( https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
228+ * [ Tracking Issue for ` mixed_integer_ops_unsigned_sub ` ] ( https://github.com/rust-lang/rust/issues/126043 )
229+ * [ Allow storing ` format_args!() ` in variable] ( https://github.com/rust-lang/rust/pull/140748 )
230+ * [ Tracking Issue for File lock API] ( https://github.com/rust-lang/rust/issues/130994 )
231+ * [ Sized Hierarchy: Part I] ( https://github.com/rust-lang/rust/pull/137944 )
232+ * [ Allow volatile access to non-Rust memory, including address 0] ( https://github.com/rust-lang/rust/pull/141260 )
233+ * [ const-eval: allow constants to refer to mutable/external memory, but reject such constants as patterns] ( https://github.com/rust-lang/rust/pull/140942 )
234+ * [ Report never type lints in dependencies] ( https://github.com/rust-lang/rust/pull/141937 )
235+ * [ builtin dyn impl no guide inference] ( https://github.com/rust-lang/rust/pull/141352 )
236+ * [ Change ` core::iter::Fuse ` 's Default impl to do what its docs say it does] ( https://github.com/rust-lang/rust/pull/140985 )
237+ * [ Stabilize derive(CoercePointee)] ( https://github.com/rust-lang/rust/pull/133820 )
238+ * [ impl ` Default ` for ` array::IntoIter ` ] ( https://github.com/rust-lang/rust/pull/141574 )
239+ * [ Added ` Clone ` implementation for ` ChunkBy ` ] ( https://github.com/rust-lang/rust/pull/138016 )
240+
241+ * No Items entered Final Comment Period this week for
242+ [ Cargo] ( https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) ,
243+ [ Language Reference] ( https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) ,
244+ [ Language Team] ( https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+ ) ,
245+ [ Rust RFCs] ( https://github.com/rust-lang/rfcs/labels/final-comment-period ) or
246+ [ Unsafe Code Guidelines] ( https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) .*
247+
248+ Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
160249
161250#### [ New and Updated RFCs] ( https://github.com/rust-lang/rfcs/pulls )
162- <!-- New or updated RFCs go here, use this format: * [new|updated] [Topic](URL) -->
163- <!-- or if there are no new or updated RFCs this week, use: -->
164- <!-- * *No New or Updated RFCs were created this week.* -->
165- <!-- * [new|updated] []() -->
251+ * [ new] [ RFC: Dedented String Literals] ( https://github.com/rust-lang/rfcs/pull/3830 )
166252
167253## Upcoming Events
168254
@@ -314,7 +400,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
314400
315401# Quote of the Week
316402
317- <!-- QOTW goes here -->
403+ > Gaze not into the abyss, lest you become recognized as an *** abyss domain expert*** , and they expect you keep gazing into the damn thing.
404+
405+ – [ Nick Mathewson on twitter] ( https://x.com/nickm_tor/status/860234274842324993?lang=en )
406+
407+ Thanks to [ robin] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1696 ) for the suggestion!
318408
319409[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
320410
0 commit comments