Skip to content

Commit b24fa21

Browse files
Merge branch 'master' into patch-98
2 parents 74f5b86 + 7a522c4 commit b24fa21

File tree

1 file changed

+83
-5
lines changed

1 file changed

+83
-5
lines changed

Diff for: draft/2025-04-02-this-week-in-rust.md

+83-5
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,30 @@ and just ask the editors to select the category.
3434
### Foundation
3535

3636
### Newsletters
37+
* [The Embedded Rustacean Issue #42](https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-42)
3738

3839
### Project/Tooling Updates
40+
* [EtherCrab, the pure Rust EtherCAT MainDevice, version 0.6 released](https://wapl.es/ethercrab-0-6/)
41+
* [A process for handling Rust code in the core kernel](https://lwn.net/SubscriberLink/1015409/be9d004a43a7102d/)
42+
* [api-version: axum middleware for header based version selection](https://heikoseeberger.de/2025-03-20-api-version/)
3943

4044
### Observations/Thoughts
4145

4246
### Rust Walkthroughs
47+
* [Solving the ABA Problem in Rust with Hazard Pointers](https://minikin.me/blog/solving-the-aba-problem-in-rust-hazard-pointers)
48+
* [Building a CoAP application on Ariel OS](https://christian.amsuess.com/blog/website/2025-03-27_ariel_coap/)
4349

4450
### Research
4551

4652
### Miscellaneous
53+
* [Real-World Verification of Software for Cryptographic Applications](https://cryptographycaffe.sandboxaq.com/posts/real-world-verification-of-software-for-cryptographic-applications/)
4754
* [Public mdBooks](https://mdbooks.code-maven.com/)
48-
55+
4956
## Crate of the Week
5057

51-
<!-- COTW goes here -->
58+
This week's crate is [candystore](https://docs.rs/candystore/latest/candystore/), a fast, persistent key-value store that does not require LSM or WALs.
59+
60+
Thanks to [Tomer Filiba](https://users.rust-lang.org/t/crate-of-the-week/2704/1424) for the self-suggestion!
5261

5362
[Please submit your suggestions and votes for next week][submit_crate]!
5463

@@ -107,11 +116,76 @@ If you are an event organizer hoping to expand the reach of your event, please s
107116

108117
## Updates from the Rust Project
109118

110-
<!-- Rust updates go here -->
119+
438 pull requests were [merged in the last week][merged]
120+
121+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-03-25..2025-04-01
122+
123+
#### Compiler
124+
125+
* [allow defining opaques in statics and consts](https://github.com/rust-lang/rust/pull/138911)
126+
* [avoid wrapping constant allocations in packed structs when not necessary](https://github.com/rust-lang/rust/pull/138503)
127+
* [perform less decoding if it has the same syntax context](https://github.com/rust-lang/rust/pull/129827)
128+
* [stabilize `precise_capturing_in_traits`](https://github.com/rust-lang/rust/pull/138128)
129+
* [uplift `clippy::invalid_null_ptr_usage` lint as `invalid_null_arguments`](https://github.com/rust-lang/rust/pull/119220)
130+
131+
#### Library
132+
133+
* [allow spawning threads after TLS destruction](https://github.com/rust-lang/rust/pull/138702)
134+
* [override PartialOrd methods for bool](https://github.com/rust-lang/rust/pull/138945)
135+
* [simplify expansion for `format_args!()`](https://github.com/rust-lang/rust/pull/139131)
136+
* [stabilize `const_cell`](https://github.com/rust-lang/rust/pull/137928)
137+
138+
#### Rustdoc
139+
140+
* [greatly simplify doctest parsing and information extraction](https://github.com/rust-lang/rust/pull/138104)
141+
* [rearrange `Item`/`ItemInner`](https://github.com/rust-lang/rust/pull/138927)
142+
143+
#### Clippy
144+
145+
* [new lint: `char_indices_as_byte_indices`](https://github.com/rust-lang/rust-clippy/pull/13435)
146+
* [add `manual_dangling_ptr` lint](https://github.com/rust-lang/rust-clippy/pull/14107)
147+
* [respect `#[expect]` and `#[allow]` within function bodies for `missing_panics_doc`](https://github.com/rust-lang/rust-clippy/pull/14407)
148+
* [do not make incomplete or invalid suggestions](https://github.com/rust-lang/rust-clippy/pull/14487)
149+
* [do not warn about shadowing in a destructuring assigment](https://github.com/rust-lang/rust-clippy/pull/14381)
150+
* [expand `obfuscated_if_else` to support `{then(), then_some()}.unwrap_or_default()`](https://github.com/rust-lang/rust-clippy/pull/14431)
151+
* [fix the primary span of `redundant_pub_crate` when flagging nameless items](https://github.com/rust-lang/rust-clippy/pull/14516)
152+
* [fix `option_if_let_else` suggestion when coercion requires explicit cast](https://github.com/rust-lang/rust-clippy/pull/14389)
153+
* [fix `unnested_or_patterns` suggestion in `let`](https://github.com/rust-lang/rust-clippy/pull/14401)
154+
* [make `collapsible_if` recognize the `let_chains` feature](https://github.com/rust-lang/rust-clippy/pull/14481)
155+
* [make `missing_const_for_fn` operate on non-optimized MIR](https://github.com/rust-lang/rust-clippy/pull/14003)
156+
* [more natural suggestions for `cmp_owned`](https://github.com/rust-lang/rust-clippy/pull/14247)
157+
* [`collapsible_if`: prevent including preceeding whitespaces if line contains non blanks](https://github.com/rust-lang/rust-clippy/pull/14480)
158+
* [properly handle expansion in `single_match`](https://github.com/rust-lang/rust-clippy/pull/14495)
159+
* [validate paths in `disallowed_*` configurations](https://github.com/rust-lang/rust-clippy/pull/14397)
160+
161+
#### Rust-Analyzer
162+
163+
* [allow crate authors to control completion of their things](https://github.com/rust-lang/rust-analyzer/pull/19375)
164+
* [avoid relying on `block_def_map()` needlessly](https://github.com/rust-lang/rust-analyzer/pull/19492)
165+
* [fix debug sourceFileMap when using cppvsdbg](https://github.com/rust-lang/rust-analyzer/pull/19475)
166+
* [fix `format_args` lowering using wrong integer suffix](https://github.com/rust-lang/rust-analyzer/pull/19460)
167+
* [fix a bug in orphan rules calculation](https://github.com/rust-lang/rust-analyzer/pull/19466)
168+
* [fix panic in progress due to splitting unicode incorrectly](https://github.com/rust-lang/rust-analyzer/pull/19490)
169+
* [use medium durability for crate-graph changes, high for library source files](https://github.com/rust-lang/rust-analyzer/pull/19451)
111170

112171
### Rust Compiler Performance Triage
113172

114-
<!-- Perf results go here -->
173+
Positive week, with a lot of primary improvements and just a few secondary regressions. Single big regression got reverted.
174+
175+
Triage done by **@panstromek**.
176+
Revision range: [4510e86a..2ea33b59](https://perf.rust-lang.org/?start=4510e86a41388733675465a8647d4235f3bf2023&end=2ea33b591050c4ca1a3752830b29112638faecf6&absolute=false&stat=instructions%3Au)
177+
178+
**Summary**:
179+
180+
| (instructions:u) | mean | range | count |
181+
|:----------------------------------:|:-----:|:--------------:|:-----:|
182+
| Regressions ❌ <br /> (primary) | - | - | 0 |
183+
| Regressions ❌ <br /> (secondary) | 0.9% | [0.2%, 1.5%] | 17 |
184+
| Improvements ✅ <br /> (primary) | -0.4% | [-4.5%, -0.1%] | 136 |
185+
| Improvements ✅ <br /> (secondary) | -0.6% | [-3.2%, -0.1%] | 59 |
186+
| All ❌✅ (primary) | -0.4% | [-4.5%, -0.1%] | 136 |
187+
188+
[Full report here](https://github.com/rust-lang/rustc-perf/blob/9bd6fc2f4594023b82acd8d876dcf659aee9a931/triage/2025-03-31.md).
115189

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

@@ -304,7 +378,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
304378

305379
# Quote of the Week
306380

307-
<!-- QOTW goes here -->
381+
> If you write a bug in your Rust program, Rust doesn’t blame you. Rust asks “how could the compiler have spotted that bug”.
382+
383+
[Ian Jackson blogging about Rust](https://diziet.dreamwidth.org/19480.html)
384+
385+
Despite a lack of suggestions, llogiq is quite pleased with his choice.
308386

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

0 commit comments

Comments
 (0)