Skip to content

Commit 4fc7aab

Browse files
authored
Merge branch 'master' into community-613
2 parents a60fa99 + a886c05 commit 4fc7aab

File tree

2 files changed

+114
-59
lines changed

2 files changed

+114
-59
lines changed

content/2025-08-13-this-week-in-rust.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,8 @@ If you are an event organizer hoping to expand the reach of your event, please s
143143
* [preserve the `.debug_gdb_scripts` section](https://github.com/rust-lang/rust/pull/143679)
144144
* [simplify dead code lint](https://github.com/rust-lang/rust/pull/144863)
145145
* [upgrade `semicolon_in_expressions_from_macros` from warn to deny](https://github.com/rust-lang/rust/pull/144369)
146-
#### Library
146+
147+
#### Library
147148
* [stabilize `duration_constructors_lite` feature](https://github.com/rust-lang/rust/pull/145135)
148149
* [stabilize `panic_payload_as_str` feature](https://github.com/rust-lang/rust/pull/144861)
149150
* [stabilize `strict_overflow_ops`](https://github.com/rust-lang/rust/pull/144682)

draft/2025-08-20-this-week-in-rust.md

Lines changed: 112 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -46,68 +46,64 @@ and just ask the editors to select the category.
4646

4747
### Newsletters
4848
* [This Month in Rust OSDev: July 2025](https://rust-osdev.com/this-month/2025-07/)
49+
* [The Embedded Rustacean Issue #52](https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-52)
4950

5051
### Project/Tooling Updates
5152
* [Zed for Windows: What's Taking So Long?!](https://zed.dev/blog/windows-progress-report)
53+
* [SeaQuery just made writing raw SQL more enjoyable](https://www.sea-ql.org/blog/2025-08-15-sea-query-raw-sql/)
54+
* [`r3bl-cmdr` v0.0.22](https://github.com/r3bl-org/r3bl-open-core/releases/tag/v0.0.22-cmdr)
55+
* [`r3bl_tui` v0.7.4](https://github.com/r3bl-org/r3bl-open-core/releases/tag/v0.7.4-tui)
5256

5357
### Observations/Thoughts
5458
* [Placing Arguments](https://blog.yoshuawuyts.com/placing-arguments/)
5559
* [Update on our advocacy for memory-safety - Tweede golf](https://tweedegolf.nl/en/blog/160/update-on-our-advocacy-for-memory-safety)
5660
* [Speed wins when fuzzing Rust code with `#[derive(Arbitrary)]`](https://nnethercote.github.io/2025/08/16/speed-wins-when-fuzzing-rust-code-with-derive-arbitrary.html)
5761
* [audio] [Intrusive lists for fun and profit](https://sdr-podcast.com/episodes/intrusive-lists-for-fun-and-profit/)
62+
* [Rewriting Numaflow’s Data Plane: A Foundation for the Future](https://blog.numaproj.io/rewriting-numaflows-data-plane-a-foundation-for-the-future-a64fd2470cf0)
63+
* [Terminal sessions you can bookmark: Building Zellij's web client](https://poor.dev/blog/building-zellij-web-terminal/)
64+
* [Testing failure modes using error injection](https://forgestream.idverse.com/blog/20250814-testing-failure-modes/)
65+
* [Multiple Breakpoints in Rust: Ownership-Driven Debugger Design](https://system.joekain.com/2025/08/17/ownership-driven-debugger-design.html)
66+
* [Nine Rules for Generalizing Your Rust Library: Lessons from Extending RangeSetBlaze to Maps (Part 2)](https://medium.com/@carlmkadie/92bb899d47ef)
67+
* [Lessons learned from rewriting the UltraGraph crate](https://deepcausality.com/blog/lessons-learned-from-rewriting-ultragraph)
68+
* [Scientific Computing in Rust](https://ideas.reify.ing/en/blog/scientific-computing-in-rust-with-pytorch/)
5869

5970
### Rust Walkthroughs
6071
* [Constructor Best Practices in Rust](https://blog.cuongle.dev/p/constructor-best-practices-in-rust)
72+
* [Let's write a macro in Rust - Part 1](https://hackeryarn.com/post/rust-macros-1/)
73+
* [Memory analysis in Rust](https://rumcajs.dev/posts/memory-analysis-in-rust/)
6174

6275
### Research
6376

6477
### Miscellaneous
78+
* [Talking To Zed Industries- Makers Of The 100% Rust, Super-Performant, Collaborative Code Editor](https://filtra.io/rust/interviews/zed-aug-25)
79+
* [All the Rust Tutorials](https://seanborg.tech/blog/huge-tutorial-list/)
80+
* [July 2025 Rust Jobs Report](https://filtra.io/rust/jobs-report/jul-25)
6581

6682
## Crate of the Week
6783

68-
<!-- COTW goes here -->
84+
This week's crate is [tur](https://github.com/rezigned/tur), a turing machine emulator with text-mode user interface.
85+
86+
Despite a lack of suggestions, llogiq is very pleased with his choice.
6987

7088
[Please submit your suggestions and votes for next week][submit_crate]!
7189

7290
[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704
7391

7492
## Calls for Testing
75-
An important step for feature implementation is for people to experiment with the
93+
An important step for RFC implementation is for people to experiment with the
7694
implementation and give feedback, especially before stabilization.
7795

78-
If you are a feature implementer and would like your feature to appear in this list, add a
96+
If you are a feature implementer and would like your RFC to appear in this list, add a
7997
`call-for-testing` label to your RFC along with a comment providing testing instructions and/or
8098
guidance on which aspect(s) of the feature need testing.
8199

82-
<!-- If there are new CfT items this week, use: -->
83-
<!--
84-
[Repo Name](Repo URL)
85-
* [<Feature name>](<Feature URL>)
86-
* [Testing steps](<Testing Steps URL>)
87-
-->
88-
<!-- where `Repo Name` and `Repo URL` are one of:
89-
[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-
95-
<!-- For all `Repo Names` with no new CfT items this week: use (removing the repos for which new
96-
CfT items did appear, of course) -->
97-
<!--
98-
* *No calls for testing were issued this week by
100+
* *No calls for testing were issued this week by
99101
[Rust](https://github.com/rust-lang/rust/labels/call-for-testing),
100102
[Rust language RFCs](https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing),
101103
[Cargo](https://github.com/rust-lang/cargo/labels/call-for-testing) or
102104
[Rustup](https://github.com/rust-lang/rustup/labels/call-for-testing).*
103-
-->
104-
* *No calls for testing were issued this week by [Rust](https://github.com/rust-lang/rust/labels/call-for-testing),
105-
[Rust language RFCs](https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing),
106-
[Cargo](https://github.com/rust-lang/cargo/labels/call-for-testing) or
107-
[Rustup](https://github.com/rust-lang/rustup/labels/call-for-testing).*
108105

109106
[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.
110-
-->
111107

112108
### [RFCs](https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing)
113109

@@ -147,58 +143,109 @@ If you are an event organizer hoping to expand the reach of your event, please s
147143

148144
## Updates from the Rust Project
149145

150-
<!-- Rust updates go here -->
146+
390 pull requests were [merged in the last week][merged]
147+
148+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-08-12..2025-08-19
149+
150+
#### Compiler
151+
* [compiler: allow `extern "interrupt" fn() → !`](https://github.com/rust-lang/rust/pull/143075)
152+
* [const-eval: full support for pointer fragments](https://github.com/rust-lang/rust/pull/144081)
153+
* [don't warn on never to any `as` casts as unreachable](https://github.com/rust-lang/rust/pull/144804)
154+
* [implement declarative `macro_rules!` derive macros](https://github.com/rust-lang/rust/pull/145208) (RFC [#3698](https://rust-lang.github.io/rfcs/3698-declarative-derive-macros.html))
155+
* [implement `#[derive(From)]`](https://github.com/rust-lang/rust/pull/144922)
156+
* [more `Printer` cleanups](https://github.com/rust-lang/rust/pull/144949)
157+
* [tail call diagnostics to include lifetime info](https://github.com/rust-lang/rust/pull/145012)
158+
#### Library
159+
* [add Ref/RefMut `try_map` method](https://github.com/rust-lang/rust/pull/118087)
160+
* [add `Default` impls for `Pin`ned `Box`, `Rc`, `Arc`](https://github.com/rust-lang/rust/pull/143717)
161+
* [add ASCII-related methods from `u8` and `MIN`/`MAX` to `core::ascii::Char`](https://github.com/rust-lang/rust/pull/143467)
162+
* [change the desugaring of `assert!` for better error output](https://github.com/rust-lang/rust/pull/122661)
163+
* [constify `SystemTime` methods](https://github.com/rust-lang/rust/pull/144519)
164+
* [implement `ptr_cast_array`](https://github.com/rust-lang/rust/pull/144515)
165+
* [migrate from `cfg_if` to `cfg_select`](https://github.com/rust-lang/rust/pull/145489)
166+
* [stabilize `as_array_of_cells`](https://github.com/rust-lang/rust/pull/144054)
167+
* [stabilize `const_exposed_provenance` feature](https://github.com/rust-lang/rust/pull/145462)
168+
* [stabilize `core::iter::chain`](https://github.com/rust-lang/rust/pull/144963)
169+
* [stabilize `ip_from`](https://github.com/rust-lang/rust/pull/141744)
170+
* [stabilize `path_file_prefix` feature](https://github.com/rust-lang/rust/pull/144870)
171+
* [stabilize `sse4a` and `tbm` target features](https://github.com/rust-lang/rust/pull/144542)
172+
* [thread: return error if setting thread stack size fails](https://github.com/rust-lang/rust/pull/144210)
173+
* [windows: replace `GetThreadId`+`GetCurrentThread` with `GetCurrentThreadId`](https://github.com/rust-lang/rust/pull/145412)
174+
#### Cargo
175+
* [unstable: Added `-Zbuild-dir-new-layout` unstable feature](https://github.com/rust-lang/cargo/pull/15848)
176+
* [unstable: add -Zbuild-analysis unstable feature](https://github.com/rust-lang/cargo/pull/15845)
177+
* [package: Always reuse the workspace's target-dir](https://github.com/rust-lang/cargo/pull/15783)
178+
* [add initial integration for `--json=timings` behind `-Zsection-timings`](https://github.com/rust-lang/cargo/pull/15780)
179+
* [fix error while running the cargo clippy --all-targets -- -D warning](https://github.com/rust-lang/cargo/pull/15843)
180+
* [implement `host`-target substitution](https://github.com/rust-lang/cargo/pull/15838)
181+
* [more helpful error for invalid `cargo-features = []`](https://github.com/rust-lang/cargo/pull/15781)
182+
* [stabilize `build.build-dir`](https://github.com/rust-lang/cargo/pull/15833)
183+
#### Rustdoc
184+
* [search: search backend with partitioned suffix tree](https://github.com/rust-lang/rust/pull/144476)
185+
* [allow multiple references to a single footnote](https://github.com/rust-lang/rust/pull/140434)
186+
* [correct negative-to-implicit discriminant display](https://github.com/rust-lang/rust/pull/145216)
187+
#### Clippy
188+
* [`similar_names` stop linting for 3-char names](https://github.com/rust-lang/rust-clippy/pull/15100)
189+
* [`unnecessary_operation`: add space between stmts in suggestion](https://github.com/rust-lang/rust-clippy/pull/15432)
190+
* [`{borrow,ptr}_as_ptr`: don't lint inside proc-macros](https://github.com/rust-lang/rust-clippy/pull/15473)
191+
* [adjust `declare_interior_mutable_const` lint's category](https://github.com/rust-lang/rust-clippy/pull/15454)
192+
* [do not suggest to use implicit `DerefMut` on `ManuallyDrop` reached through unions](https://github.com/rust-lang/rust-clippy/pull/14387)
193+
* [fix `match_ref_pats` false positive on match scrutinee of never type](https://github.com/rust-lang/rust-clippy/pull/15474)
194+
* [fix `unnecessary_semicolon`: don't lint on stmts with attrs](https://github.com/rust-lang/rust-clippy/pull/15466)
195+
#### Rust-Analyzer
196+
* [hint at unterminated strings in unknown prefix errors](https://github.com/rust-lang/rust-analyzer/pull/20425)
197+
* [fix "Implement default members" to resolve IdentPat](https://github.com/rust-lang/rust-analyzer/pull/20432)
198+
* [add if..else completions in LetStmt and ArgList](https://github.com/rust-lang/rust-analyzer/pull/20390)
199+
* [fix indent for `convert_match_to_let_else`](https://github.com/rust-lang/rust-analyzer/pull/20455)
200+
* [make lang items query properly filter out overwritten/excluded sysroots](https://github.com/rust-lang/rust-analyzer/pull/20475)
201+
* [only import the item in "Unqualify method call" if needed](https://github.com/rust-lang/rust-analyzer/pull/20442)
202+
* [support guards in `replace_match_with_if_let`](https://github.com/rust-lang/rust-analyzer/pull/20456)
203+
* [track diagnostic generations per package](https://github.com/rust-lang/rust-analyzer/pull/20459)
204+
* [next-solver fun time](https://github.com/rust-lang/rust-analyzer/pull/20446)
205+
* [switch from Chalk to the next trait solver](https://github.com/rust-lang/rust-analyzer/pull/20329)
206+
* [use a more specific error message when talking about the server logs](https://github.com/rust-lang/rust-analyzer/pull/20467)
151207

152208
### Rust Compiler Performance Triage
153209

154-
<!-- Perf results go here -->
210+
Lots of noise/bimodality this week. Overall though no major performance impacting changes landed.
211+
212+
Triage done by **@simulacrum**.
213+
Revision range: [6355cd39..239e8b1b](https://perf.rust-lang.org/?start=6355cd39c81e9699b1925c58d2ed3165bcab1715&end=239e8b1b47b34120287ec36b33228c1e177f0c38&absolute=false&stat=instructions%3Au)
214+
215+
1 Regressions, 3 Improvements, 7 Mixed; 4 of them in rollups
216+
27 artifact comparisons made in total
217+
218+
[Full report here](https://github.com/rust-lang/rustc-perf/blob/master/triage/2025/2025-08-18.md)
155219

156220
### [Approved RFCs](https://github.com/rust-lang/rfcs/commits/master)
157221

158222
Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These
159223
are the RFCs that were approved for implementation this week:
160224

161-
<!-- Approved RFCs go here, use this format: * [Topic](URL) -->
162-
<!-- or if none were approved this week, use: * *No RFCs were approved this week.* -->
163-
<!-- * []() -->
164-
165-
<!--
166-
### [Approved Major Change Proposals (MCP)](https://forge.rust-lang.org/compiler/mcp.html)
167-
<!~~ MCPs occur infrequently, so this section is commented out by default. ~~>
168-
<!~~ MCPs which have been approved or rejected this week go here, use this format: * [major change accepted|rejected] [Topic](URL) ~~>
169-
-->
225+
* *No RFCs were approved this week.*
170226

171227
### Final Comment Period
172228

173229
Every week, [the team](https://www.rust-lang.org/team.html) announces the 'final comment period' for RFCs and key PRs
174230
which are reaching a decision. Express your opinions now.
175231

176-
#### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period)
177-
<!-- RFCs which have entered FCP go here, use this format: * [disposition: merge|close] [Topic](URL) -->
178-
<!-- or if none entered FCP this week, use: * *No RFCs entered Final Comment Period this week.* -->
179-
<!-- * [disposition: ] []() -->
180-
181232
#### Tracking Issues & PRs
182-
<!-- Tracking Issues which have entered FCP go here, use this format: * [disposition: merge|close] [Topic](URL) -->
183-
<!-- or if none entered FCP this week, use: -->
184-
<!-- * *No Tracking Issues or PRs entered Final Comment Period this week.* -->
185-
<!-- * [disposition: ] []() -->
186-
187233
##### [Rust](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
234+
* [Partial-stabilize the basics from `bigint_helper_methods`](https://github.com/rust-lang/rust/pull/144494)
235+
* [fix drop scope for `super let` bindings within `if let`](https://github.com/rust-lang/rust/pull/145342)
236+
* [Make sure to treat only param where clauses as inherent](https://github.com/rust-lang/rust/pull/145262)
188237

189-
##### [Cargo](https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
190-
191-
##### [Language Team](https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+)
192-
193-
##### [Language Reference](https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
238+
*No Items entered Final Comment Period this week for
239+
[Rust RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period),
240+
[Cargo](https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc),
241+
[Language Team](https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+),
242+
[Language Reference](https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc) or
243+
[Unsafe Code Guidelines](https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc).*
194244

195-
##### [Unsafe Code Guidelines](https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
245+
Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
196246

197247
#### [New and Updated RFCs](https://github.com/rust-lang/rfcs/pulls)
198-
<!-- New or updated RFCs go here, use this format: * [new|updated] [Topic](URL) -->
199-
<!-- or if there are no new or updated RFCs this week, use: -->
200-
<!-- * *No New or Updated RFCs were created this week.* -->
201-
<!-- * [new|updated] []() -->
248+
* [new] [propose 2025h2 Goals](https://github.com/rust-lang/rfcs/pull/3849)
202249

203250
## Upcoming Events
204251

@@ -253,6 +300,8 @@ Rusty Events between 2025-08-20 - 2025-09-17 🦀
253300
### Asia
254301
* 2025-08-20 | Seoul, KR | [Seoul Rust](https://www.meetup.com/rust-seoul-meetup)
255302
* [**Seoul Rust Meetup**](https://www.meetup.com/rust-seoul-meetup/events/310347685)
303+
* 2025-08-21 | Kuala Lumpur, MY | [Rust Malaysia](https://www.linkedin.com/company/rustmalaysia/)
304+
* [**Malaysia Rust Meetup**](https://www.eventbrite.sg/e/backend-webdev-with-axum-and-diesel-rust-meetup-aug-2025-tickets-1588476137889)
256305
* 2025-08-23 | Bangalore, IN | [Rust Bangalore](https://hasgeek.com/rustbangalore)
257306
* [**August 2025 Rustacean meetup**](https://hasgeek.com/rustbangalore/august-2025-rustacean-meetup/)
258307

@@ -277,6 +326,7 @@ Rusty Events between 2025-08-20 - 2025-09-17 🦀
277326
* [**From bugs to parallelism to future-proofing: What makes Rust different**](https://www.meetup.com/rust-rhein-main/events/310322369)
278327
* 2025-09-10 | Reading, UK | [Reading Rust Workshop](https://www.meetup.com/reading-rust-workshop)
279328
* [**Reading Rust Meetup**](https://www.meetup.com/reading-rust-workshop/events/308944038)
329+
* 2025-09-16 | Berlin, DE | [Oxidize Conference] (https://oxidizeconf.com/)
280330

281331
### North America
282332
* 2025-08-14 | Hybrid (Seattle, WA, US) | [Seattle Rust User Group](https://www.meetup.com/join-srug)
@@ -344,7 +394,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
344394

345395
# Quote of the Week
346396

347-
<!-- QOTW goes here -->
397+
> It's amazing how far const eval has come in #Rust. It wasn't too long ago that even a simple if/else wasn't permitted. Now we're not that far off from having const trait impls and const closures, which will make damn near everything const capable.
398+
399+
[Jacob Pratt on Mastodon](https://hachyderm.io/@[email protected]/115052212557381430)
400+
401+
llogiq has looked at all zero suggestions and came up empty, so he just chose this quote instead.
348402

349403
[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)
350404

0 commit comments

Comments
 (0)