@@ -32,45 +32,76 @@ and just ask the editors to select the category.
3232
3333-->
3434
35+
3536### Official
3637
3738### Foundation
3839
3940### Newsletters
4041* [ The Embedded Rustacean Issue #47 ] ( https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-47 )
42+ * [ Rust Trends Issue #66 ] ( https://rust-trends.com/newsletter/rust-rewinded-debug-smarter-build-faster/ )
4143
4244### Project/Tooling Updates
45+ * [ Are We Embedded Yet? #2 ] ( https://jslazak.com/are-we-embedded-yet-2/ )
46+
47+ * [ Meilisearch 1.15 - new typo tolerance setting, comparison operators for string filters, and improved support for Chinese] ( https://www.meilisearch.com/blog/meilisearch-1-15 )
4348
4449### Observations/Thoughts
50+ * [ 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/ )
51+ * [ 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 )
52+ * [ 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 )
53+ * [ 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/ )
54+ * [ Rust For Foundational Software] ( https://corrode.dev/blog/foundational-software/ )
55+ * [ 10 years of betting on Rust] ( https://tably.com/tably/10-years-of-betting-on-rust )
56+ * [ Report on variadic generics discussions at RustWeek 2025.] ( https://poignardazur.github.io/2025/06/07/report-on-variadics-rustweek/ )
57+ * [ Zero-cost Functional Records in Rust] ( https://ecency.com/rust-lang/@jonwolski/zero-cost-functional-records-in-rust )
58+ * [ A plan for SIMD] ( https://linebender.org/blog/a-plan-for-simd/ )
59+ * [ When is a Rust function "unsafe"?] ( https://crescentro.se/posts/when-unsafe/ )
60+ * [ video playlist] [ RustWeek 2025] ( https://www.youtube.com/playlist?list=PL8Q1w7Ff68DCEXiGidlM0DMn8ztjlUlez )
61+ * [ audio] [ What's New in Rust 1.79 and 1.80] ( https://rustacean-station.org/episode/rust-1.79-1.80/ )
62+ * [ audio] [ Rust at Work with Ran Reichman Co-Founder and CEO of Flarion] ( https://rustacean-station.org/episode/ran-reichman/ )
63+
64+ * [ Nine Rules for Scientific Libraries in Rust] ( https://medium.com/@carlmkadie/nine-rules-for-scientific-libraries-in-rust-6e5e33a6405b )
65+
66+ * [ Rust on a Diet] ( https://blog.veeso.dev/blog/en/rust-on-a-diet/ )
4567
4668### Rust Walkthroughs
69+ * [ Introduction to embedded development with Rust: Overview of the ecosystem] ( https://kerkour.com/introduction-to-embedded-development-with-rust )
70+ * [ Achieving <100 ms Latency for Remote Control with WebRTC] ( https://gethopp.app/blog/latency-exploration )
71+ * [ Patterns for Modeling Overlapping Variant Data in Rust] ( https://mcmah309.github.io/posts/patterns-for-modeling-overlapping-variant-data-in-rust/ )
72+ * [ Is Rust faster than C?] ( https://steveklabnik.com/writing/is-rust-faster-than-c/ )
73+ * [ video] [ Introducing facet: Reflection for Rust] ( https://www.youtube.com/watch?v=0mqFCqw_XvI )
4774
4875### Research
4976
5077### Miscellaneous
78+ * [ Getting A Read On Rust With Trainer, Consultant, and Author Herbert Wolverson] ( https://filtra.io/rust/interviews/ardan-jun-25 )
79+ * [ video] [ Julian Hofer - Pixi: the missing companion to cargo] ( https://www.youtube.com/watch?v=Hso3TQx13b0 )
5180
5281## Crate of the Week
5382
54- <!-- COTW goes here -->
83+ This week's crate is [ optics] ( https://crates.io/crates/optics ) , a typesafe, fully featured lens library.
84+
85+ Thanks to [ Akos Vandra] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1442 ) for the self-suggestion!
5586
5687[ Please submit your suggestions and votes for next week] [ submit_crate ] !
5788
5889[ submit_crate ] : https://users.rust-lang.org/t/crate-of-the-week/2704
5990
6091## Calls for Testing
61-
6292An 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:
93+ implementation and give feedback, especially before stabilization.
6594
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. -->
95+ If you are a feature implementer and would like your RFC to appear in this list, add a
96+ ` call-for-testing ` label to your RFC along with a comment providing testing instructions and/or
97+ guidance on which aspect(s) of the feature need testing.
98+
99+ * * No calls for testing were issued this week by [ Rust] ( https://github.com/rust-lang/rust/labels/call-for-testing ) ,
100+ [ Rust language RFCs] ( https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing ) ,
101+ [ Cargo] ( https://github.com/rust-lang/cargo/labels/call-for-testing ) or
102+ [ Rustup] ( https://github.com/rust-lang/rustup/labels/call-for-testing ) .*
103+
104+ [ 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.
74105
75106### [ RFCs] ( https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing )
76107
@@ -110,58 +141,122 @@ If you are an event organizer hoping to expand the reach of your event, please s
110141
111142## Updates from the Rust Project
112143
113- <!-- Rust updates go here -->
144+ 516 pull requests were [ merged in the last week] [ merged ]
145+
146+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-06-03..2025-06-10
147+
148+ #### Compiler
149+
150+ * [ add (back) ` unsupported_calling_conventions ` lint to reject more invalid calling conventions] ( https://github.com/rust-lang/rust/pull/141435 )
151+ * [ add a new ` mismatched-lifetime-syntaxes ` lint] ( https://github.com/rust-lang/rust/pull/138677 )
152+ * [ fast path for stalled obligations on self ty] ( https://github.com/rust-lang/rust/pull/141681 )
153+ * [ simplify and optimize ` VecCache ` 's ` SlotIndex::from_index ` ] ( https://github.com/rust-lang/rust/pull/142095 )
154+ * [ rework ` collect_and_apply ` to not rely on size hint for optimization] ( https://github.com/rust-lang/rust/pull/141652 )
155+ * [ miri: TB: add flag to disable the more precise interior mutability tracking] ( https://github.com/rust-lang/miri/pull/4376 )
156+ * [ miri: native-lib: allow multiple libraries and/or dirs] ( https://github.com/rust-lang/miri/pull/4372 )
157+
158+ #### Library
159+
160+ * [ stabilise ` os_string_pathbuf_leak ` ] ( https://github.com/rust-lang/rust/pull/137992 )
161+ * [ stabilize ` const_eq_ignore_ascii_case ` ] ( https://github.com/rust-lang/rust/pull/142065 )
162+ * [ stabilize ` nonnull_provenance ` ] ( https://github.com/rust-lang/rust/pull/142238 )
163+ * [ stabilize ` sha512 ` , ` sm3 ` and ` sm4 ` for x86] ( https://github.com/rust-lang/rust/pull/140767 )
164+ * [ stabilize ` tcp_quickack ` ] ( https://github.com/rust-lang/rust/pull/129121 )
165+ * [ bootstrap: build std sans leaf frame pointers] ( https://github.com/rust-lang/rust/pull/141800 )
166+ * [ make ` NonZero<char> ` possible] ( https://github.com/rust-lang/rust/pull/141001 )
167+ * [ optimize ` Seek::stream_len ` impl for ` File ` ] ( https://github.com/rust-lang/rust/pull/125087 )
168+
169+ #### Clippy
170+
171+ * [ ` doc_suspicious_footnotes ` : lint text that looks like a footnote] ( https://github.com/rust-lang/rust-clippy/pull/14708 )
172+ * [ ` missing_const_for_fn ` : consider constness of instance] ( https://github.com/rust-lang/rust-clippy/pull/14759 )
173+ * [ ` zombie_processes ` : do not complain about early early returns] ( https://github.com/rust-lang/rust-clippy/pull/14912 )
174+ * [ add new lint: ` ip_constant ` ] ( https://github.com/rust-lang/rust-clippy/pull/14878 )
175+ * [ do not lint macro generated codes] ( https://github.com/rust-lang/rust-clippy/pull/14976 )
176+ * [ do not recurse indefinitely while checking for inner mutability] ( https://github.com/rust-lang/rust-clippy/pull/14965 )
177+ * [ fix ` branches_sharing_code ` suggests wrongly when dealing with macros] ( https://github.com/rust-lang/rust-clippy/pull/14907 )
178+ * [ fix ` create_dir ` ignores paths in suggestions] ( https://github.com/rust-lang/rust-clippy/pull/15011 )
179+ * [ fix ` match_single_binding ` misses curlies on type signatures] ( https://github.com/rust-lang/rust-clippy/pull/15017 )
180+ * [ fix ` std_instead_of_core ` FP when part of the ` use ` cannot be replaced] ( https://github.com/rust-lang/rust-clippy/pull/15016 )
181+ * [ fix ` unnecessary_debug_formatting ` FP inside ` Debug ` impl] ( https://github.com/rust-lang/rust-clippy/pull/14955 )
182+ * [ fix false positive for ` unused_unit ` ] ( https://github.com/rust-lang/rust-clippy/pull/14962 )
183+ * [ fix suggestion-causes-error of ` print_literal ` and ` write_literal ` ] ( https://github.com/rust-lang/rust-clippy/pull/14961 )
184+ * [ introduce ` coerce_container_to_any ` ] ( https://github.com/rust-lang/rust-clippy/pull/14812 )
185+ * [ invert suggestion if pointer is tested for non-nullness] ( https://github.com/rust-lang/rust-clippy/pull/15015 )
186+ * [ lint reversed ordering in partial ord impl] ( https://github.com/rust-lang/rust-clippy/pull/14945 )
187+ * [ use interned strings when possible, for efficiency purposes] ( https://github.com/rust-lang/rust-clippy/pull/14963 )
188+
189+ #### Rust-Analyzer
190+
191+ * [ better parser recovery for macro calls in type bound position] ( https://github.com/rust-lang/rust-analyzer/pull/19933 )
192+ * [ add ` dyn ` keyword inlay hints] ( https://github.com/rust-lang/rust-analyzer/pull/19922 )
193+ * [ implement attribute completions for diagnostics module] ( https://github.com/rust-lang/rust-analyzer/pull/19908 )
194+ * [ always include quickfixes for diagnostics, even when diagnostics are disabled] ( https://github.com/rust-lang/rust-analyzer/pull/19935 )
195+ * [ 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 )
196+ * [ record macro calls for fields in ` ChildBySource ` impls] ( https://github.com/rust-lang/rust-analyzer/pull/19937 )
197+ * [ record macro calls in signatures in ` ChildBySource ` impls] ( https://github.com/rust-lang/rust-analyzer/pull/19932 )
198+ * [ stabilize the "JSON is not Rust" diagnostic] ( https://github.com/rust-lang/rust-analyzer/pull/19949 )
199+ * [ stabilize unlinked file diagnostic] ( https://github.com/rust-lang/rust-analyzer/pull/19936 )
200+ * [ hir-ty: add incremental tests checking for ` infer ` invalidation] ( https://github.com/rust-lang/rust-analyzer/pull/19914 )
201+ * [ make ` Semantics<'db, DB> ` support ` Semantics<'db, dyn HirDatabase> ` , take two] ( https://github.com/rust-lang/rust-analyzer/pull/19930 )
114202
115203### Rust Compiler Performance Triage
116204
117- <!-- Perf results go here -->
205+ 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.
206+
207+ Triage done by ** @panstromek ** .
208+ Revision range: [ 2fc3deed..c31cccb7] ( https://perf.rust-lang.org/?start=2fc3deed9fcb8762ad57191e0195f06f7543e4a5&end=c31cccb7b5cc098b1a8c1794ed38d7fdbec0ccb0&absolute=false&stat=instructions%3Au )
209+
210+ ** Summary** :
211+
212+ | (instructions: u ) | mean | range | count |
213+ | :----------------------------------:| :-----:| :---------------:| :-----:|
214+ | Regressions ❌ <br /> (primary) | 3.1% | [ 0.3%, 8.5%] | 22 |
215+ | Regressions ❌ <br /> (secondary) | 0.6% | [ 0.2%, 0.9%] | 3 |
216+ | Improvements ✅ <br /> (primary) | -1.0% | [ -3.4%, -0.2%] | 151 |
217+ | Improvements ✅ <br /> (secondary) | -3.5% | [ -66.5%, -0.2%] | 146 |
218+ | All ❌✅ (primary) | -0.4% | [ -3.4%, 8.5%] | 173 |
219+
220+ [ Full report here] ( https://github.com/rust-lang/rustc-perf/blob/7a1e00ae0a30c783bdfa8e3c35e3b49ce88b58e9/triage/2025-06-09.md )
118221
119222### [ Approved RFCs] ( https://github.com/rust-lang/rfcs/commits/master )
120223
121224Changes to Rust follow the Rust [ RFC (request for comments) process] ( https://github.com/rust-lang/rfcs#rust-rfcs ) . These
122225are the RFCs that were approved for implementation this week:
123226
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- -->
227+ * * No RFCs were approved this week.*
133228
134229### Final Comment Period
135230
136231Every week, [ the team] ( https://www.rust-lang.org/team.html ) announces the 'final comment period' for RFCs and key PRs
137232which are reaching a decision. Express your opinions now.
138233
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-
144234#### 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-
150235##### [ 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 )
236+ * [ Tracking Issue for ` mixed_integer_ops_unsigned_sub ` ] ( https://github.com/rust-lang/rust/issues/126043 )
237+ * [ Allow storing ` format_args!() ` in variable] ( https://github.com/rust-lang/rust/pull/140748 )
238+ * [ Tracking Issue for File lock API] ( https://github.com/rust-lang/rust/issues/130994 )
239+ * [ Sized Hierarchy: Part I] ( https://github.com/rust-lang/rust/pull/137944 )
240+ * [ Allow volatile access to non-Rust memory, including address 0] ( https://github.com/rust-lang/rust/pull/141260 )
241+ * [ const-eval: allow constants to refer to mutable/external memory, but reject such constants as patterns] ( https://github.com/rust-lang/rust/pull/140942 )
242+ * [ Report never type lints in dependencies] ( https://github.com/rust-lang/rust/pull/141937 )
243+ * [ builtin dyn impl no guide inference] ( https://github.com/rust-lang/rust/pull/141352 )
244+ * [ Change ` core::iter::Fuse ` 's Default impl to do what its docs say it does] ( https://github.com/rust-lang/rust/pull/140985 )
245+ * [ Stabilize derive(CoercePointee)] ( https://github.com/rust-lang/rust/pull/133820 )
246+ * [ impl ` Default ` for ` array::IntoIter ` ] ( https://github.com/rust-lang/rust/pull/141574 )
247+ * [ Added ` Clone ` implementation for ` ChunkBy ` ] ( https://github.com/rust-lang/rust/pull/138016 )
248+
249+ * No Items entered Final Comment Period this week for
250+ [ Cargo] ( https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) ,
251+ [ Language Reference] ( https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) ,
252+ [ Language Team] ( https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+ ) ,
253+ [ Rust RFCs] ( https://github.com/rust-lang/rfcs/labels/final-comment-period ) or
254+ [ Unsafe Code Guidelines] ( https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc ) .*
255+
256+ Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
159257
160258#### [ 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] []() -->
259+ * [ new] [ RFC: Dedented String Literals] ( https://github.com/rust-lang/rfcs/pull/3830 )
165260
166261## Upcoming Events
167262
@@ -313,7 +408,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
313408
314409# Quote of the Week
315410
316- <!-- QOTW goes here -->
411+ > Gaze not into the abyss, lest you become recognized as an *** abyss domain expert*** , and they expect you keep gazing into the damn thing.
412+
413+ – [ Nick Mathewson on twitter] ( https://x.com/nickm_tor/status/860234274842324993?lang=en )
414+
415+ Thanks to [ robin] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1696 ) for the suggestion!
317416
318417[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
319418
0 commit comments