Skip to content

Commit 9906fa5

Browse files
authored
Merge branch 'master' into lwn-2
2 parents ddd1d0b + 4269405 commit 9906fa5

File tree

1 file changed

+80
-4
lines changed

1 file changed

+80
-4
lines changed

draft/2025-07-02-this-week-in-rust.md

Lines changed: 80 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,25 @@ and just ask the editors to select the category.
4040

4141
### Project/Tooling Updates
4242
* [How to write Rust in the kernel: part 2](https://lwn.net/SubscriberLink/1025232/4a7776eb2f0379cf/)
43+
* [Asterinas: a new Linux-compatible kernel project](https://lwn.net/SubscriberLink/1022920/14dfdc76df0f1b96/)
4344

4445
### Observations/Thoughts
4546

47+
* [Leaktracer: A Rust allocator to trace memory allocations](https://blog.veeso.dev/blog/en/leaktracer-a-rust-allocator-to-trace-memory-allocations/)
48+
4649
### Rust Walkthroughs
4750

51+
- [Alternative Blanket Implementations for a Single Rust Trait](https://www.greyblake.com/blog/alternative-blanket-implementations-for-single-rust-trait/)
52+
4853
### Research
4954

5055
### Miscellaneous
5156

5257
## Crate of the Week
5358

54-
<!-- COTW goes here -->
59+
This week's crate is [ansic](https://crates.io/crates/ansic), a proc macro providing a DSL to output ANSI escape strings with zero runtime overhead.
60+
61+
Thanks to [Zeon](https://users.rust-lang.org/t/crate-of-the-week/2704/1448) for the self-suggestion!
5562

5663
[Please submit your suggestions and votes for next week][submit_crate]!
5764

@@ -110,11 +117,72 @@ If you are an event organizer hoping to expand the reach of your event, please s
110117

111118
## Updates from the Rust Project
112119

113-
<!-- Rust updates go here -->
120+
429 pull requests were [merged in the last week][merged]
121+
122+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-06-24..2025-07-01
123+
124+
#### Compiler
125+
* [add `#[loop_match]` for improved DFA codegen](https://github.com/rust-lang/rust/pull/138780)
126+
* [add runtime check to avoid overwrite arg in `Diag`](https://github.com/rust-lang/rust/pull/142724)
127+
* [check `CoerceUnsized` impl validity before coercing](https://github.com/rust-lang/rust/pull/142976)
128+
* [compute hard errors without diagnostics in `impl_intersection_has_impossible_obligation`](https://github.com/rust-lang/rust/pull/142647)
129+
* [collapse Analysis|Borrowck|PostBorrowckAnalysis when there are no opaques](https://github.com/rust-lang/rust/pull/142802)
130+
* [encode hir attributes cross-crate properly](https://github.com/rust-lang/rust/pull/142777)
131+
* [fast path for WF goals in new solver](https://github.com/rust-lang/rust/pull/142223)
132+
* [implement parsing of pinned borrows](https://github.com/rust-lang/rust/pull/135731)
133+
* [improve recovery when users write `where`:](https://github.com/rust-lang/rust/pull/143065)
134+
* [introduce `ByteSymbol`](https://github.com/rust-lang/rust/pull/141875)
135+
* [new const traits syntax](https://github.com/rust-lang/rust/pull/139858)
136+
* [only compute recursive callees once](https://github.com/rust-lang/rust/pull/142625)
137+
* [shallowly bail from `coerce_unsized` more](https://github.com/rust-lang/rust/pull/142941)
138+
* [simplify `ObligationCauseCode::IfExpression`](https://github.com/rust-lang/rust/pull/139594)
139+
140+
#### Library
141+
* [add SIMD funnel shift and round-to-even intrinsics](https://github.com/rust-lang/rust/pull/142078)
142+
* [make RefCell unstably const](https://github.com/rust-lang/rust/pull/137843)
143+
* [make `Sub`, Mul`, Div` and `Rem const_traits`](https://github.com/rust-lang/rust/pull/143000)
144+
145+
#### Cargo
146+
* [add `http.proxy-cainfo` config for proxy certs](https://github.com/rust-lang/cargo/pull/15374)
147+
* [expand error messages around path dependency on `cargo package` and `cargo publish`](https://github.com/rust-lang/cargo/pull/15705)
148+
* [override `Cargo.lock` checksums when doing a dry-run `publish`](https://github.com/rust-lang/cargo/pull/15711)
149+
* [rework `cargo-test-support` & `testsuite` to use `CARGO_BIN_EXE_*` for Cargo](https://github.com/rust-lang/cargo/pull/15692)
150+
151+
#### Rustdoc
152+
* [rustdoc: show attributes on `enum` variants](https://github.com/rust-lang/rust/pull/142987)
153+
154+
#### Clippy
155+
* [`missing_panics_doc`: Allow `unwrap()` and `expect()` inside const-only contexts](https://github.com/rust-lang/rust-clippy/pull/15170)
156+
* [`zero_ptr`: lint in `const` context as well](https://github.com/rust-lang/rust-clippy/pull/15152)
157+
* [consider deref'ed argument as non-temporary](https://github.com/rust-lang/rust-clippy/pull/15172)
158+
* [`cast_possible_truncation` should not suggest inside const context](https://github.com/rust-lang/rust-clippy/pull/15164)
159+
* [fix `coerce_container_to_any` false positive on autoderef](https://github.com/rust-lang/rust-clippy/pull/15057)
160+
* [fix `disallowed_script_idents` FP on identifiers with `_`](https://github.com/rust-lang/rust-clippy/pull/15123)
161+
162+
#### Rust-Analyzer
163+
* [de-arc trait items query](https://github.com/rust-lang/rust-analyzer/pull/20088)
164+
* [do not append `--compile-time-deps` to overwritten build script commands](https://github.com/rust-lang/rust-analyzer/pull/20121)
165+
* [drop rustc workspace loading error, if we don't needs its sources](https://github.com/rust-lang/rust-analyzer/pull/20092)
166+
* [highlighting of return values while the cursor is on `match` / `if` / `=>`](https://github.com/rust-lang/rust-analyzer/pull/19546)
167+
* [fix completion in when typing `integer.|`](https://github.com/rust-lang/rust-analyzer/pull/20110)
168+
* [prettify AST in `PathTransform` if it's coming from a macro](https://github.com/rust-lang/rust-analyzer/pull/20103)
169+
* [parse new const trait syntax](https://github.com/rust-lang/rust-analyzer/pull/20105)
170+
* [remove last use of `rustc_pattern_analysis::Captures`](https://github.com/rust-lang/rust-analyzer/pull/20124)
171+
* [remove unnecessary parens in closure](https://github.com/rust-lang/rust-analyzer/pull/20122)
172+
* [salsa idiomize `VariantFields` query](https://github.com/rust-lang/rust-analyzer/pull/20106)
114173

115174
### Rust Compiler Performance Triage
175+
Lots of changes this week with results dominated by the 1-5% improvements from
176+
[#142941](https://github.com/rust-lang/rust/pull/142941) across lots of primary
177+
benchmarks in the suite.
178+
179+
Triage done by **@simulacrum**.
180+
Revision range: [42245d34..ad3b7257](https://perf.rust-lang.org/?start=42245d34d22ade32b3f276dcf74deb826841594c&end=ad3b7257615c28aaf8212a189ec032b8af75de51&absolute=false&stat=instructions%3Au)
116181

117-
<!-- Perf results go here -->
182+
3 Regressions, 6 Improvements, 5 Mixed; 4 of them in rollups
183+
39 artifact comparisons made in total
184+
185+
[Full report here](https://github.com/rust-lang/rustc-perf/blob/master/triage/2025/2025-06-30.md)
118186

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

@@ -270,6 +338,8 @@ Rusty Events between 2025-07-02 - 2025-07-30 🦀
270338
* [**Building Resilient and Observable Rust Services with steady_state**](https://www.meetup.com/stl-rust/events/306345853)
271339
* 2025-07-06 | Boston, MA, US | [Boston Rust Meetup](https://www.meetup.com/bostonrust/events/)
272340
* [**Alewife Rust Lunch, July 6**](https://www.meetup.com/bostonrust/events/307936287)
341+
* 2025-07-07 | Denver, CO, US | [FOSS Rust Colorado](https://mobilizon.us/@foss_rust_colorado/events)
342+
* [**Embedded Rust Hack Night**](https://mobilizon.us/events/e9d6fd47-6120-4789-ad04-313d6a04f572)
273343
* 2025-07-09 | Phoenix, AZ, US | [Desert Rust](https://www.meetup.com/desert-rustaceans/events/)
274344
* [**Rust <> AI**](https://www.meetup.com/desert-rustaceans/events/308507249/)
275345
* 2025-07-15 | San Francisco, CA, US | [San Francisco Rust Study Group](https://www.meetup.com/san-francisco-rust-study-group/events/)
@@ -313,7 +383,13 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
313383

314384
# Quote of the Week
315385

316-
<!-- QOTW goes here -->
386+
> I love Rust, so I was already biased to be positive about the Rust for Linux project, even before dabbling with it myself. I'm genuinely surprised to be even more optimistic now than before. The coding part was much easier than I imagined, thanks to the use of reference counting in the kernel.
387+
>
388+
> And the promised benefits of Rust over C? They're absolutely real. The Rust version of the driver feels way more robust than the C code, not just regarding memory safety. It didn't have a single bug: Once it compiled, it worked. That's not a huge deal considering it was a direct rewrite, but it counts for something.
389+
390+
[Remo Senekowitsch blogging about their Rust 4 Linux adventure](https://blog.buenzli.dev/rust-for-linux-first-contrib/)
391+
392+
Despite a lamentable lack of suggestions, llogiq is reasonably pleased with his choice.
317393

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

0 commit comments

Comments
 (0)