Skip to content

Commit c58044c

Browse files
authored
Merge pull request #6746 from llogiq/twir-604
C/QotW and notable changes
2 parents e7de846 + 5d39a94 commit c58044c

File tree

1 file changed

+92
-3
lines changed

1 file changed

+92
-3
lines changed

draft/2025-06-18-this-week-in-rust.md

Lines changed: 92 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ and just ask the editors to select the category.
5555

5656
## Crate of the Week
5757

58-
<!-- COTW goes here -->
58+
This week's crate is [RobustMQ](https://github.com/robustmq/robustmq), a next-generation, high-performance, multi-protocol message queue.
59+
60+
Thanks to [Yu Liu](https://users.rust-lang.org/t/crate-of-the-week/2704/1443) for the self-suggestion!
5961

6062
[Please submit your suggestions and votes for next week][submit_crate]!
6163

@@ -104,7 +106,86 @@ If you are an event organizer hoping to expand the reach of your event, please s
104106

105107
## Updates from the Rust Project
106108

107-
<!-- Rust updates go here -->
109+
461 pull requests were [merged in the last week][merged]
110+
111+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-06-10..2025-06-17
112+
113+
#### Compiler
114+
115+
* [cache `param_env` canonicalization](https://github.com/rust-lang/rust/pull/141451)
116+
* [early linting: avoid redundant calls to `check_id`](https://github.com/rust-lang/rust/pull/142398)
117+
* [move fast reject into inner](https://github.com/rust-lang/rust/pull/142355)
118+
* [use `MixedBitSet` for borrows-in-scope dataflow analysis](https://github.com/rust-lang/rust/pull/142471)
119+
* [miri: add flag to suppress float non-determinism](https://github.com/rust-lang/rust/pull/142337)
120+
* [miri: we can use apfloat's `mul_add` now](https://github.com/rust-lang/rust/pull/142340)
121+
122+
#### Library
123+
124+
* [stabilize `"file_lock"` feature](https://github.com/rust-lang/rust/pull/142125)
125+
* [stabilize keylocker](https://github.com/rust-lang/rust/pull/140766)
126+
* [add `Vec::peek_mut`](https://github.com/rust-lang/rust/pull/142046)
127+
* [added `Clone` implementation for `ChunkBy`](https://github.com/rust-lang/rust/pull/138016)
128+
* [faster `fmt::Display` of 128-bit integers, without unsafe pointer](https://github.com/rust-lang/rust/pull/136594)
129+
* [add `bit_width` for unsigned integer types](https://github.com/rust-lang/rust/pull/142328)
130+
* [remove unneeded lifetime bound from signature of `BTreeSet::extract_if`](https://github.com/rust-lang/rust/pull/142484)
131+
132+
#### Cargo
133+
134+
* [add custom completer for `cargo remove <TAB>`](https://github.com/rust-lang/cargo/pull/15662)
135+
* [highlight the correct words](https://github.com/rust-lang/cargo/pull/15659)
136+
* [refactor: replace InternedString with Cow in IndexPackage](https://github.com/rust-lang/cargo/pull/15559)
137+
138+
#### Rustdoc
139+
140+
* [Give more information into extracted doctest information](https://github.com/rust-lang/rust/pull/141399)
141+
* [rustdoc\_json: reduce allocations](https://github.com/rust-lang/rust/pull/142335)
142+
143+
#### Rustfmt
144+
145+
* [don't try to repair invalid self-imports](https://github.com/rust-lang/rustfmt/pull/6573)
146+
147+
#### Clippy
148+
149+
* [Optimize 3rd heaviest func, (81b → 10m)](https://github.com/rust-lang/rust-clippy/pull/15043)
150+
* [add lint for broken doc links](https://github.com/rust-lang/rust-clippy/pull/13696)
151+
* [docs: add link to `span_lint` in diagnostics.rs](https://github.com/rust-lang/rust-clippy/pull/15065)
152+
* [docs: make `unbuffered_bytes` docs more consistent](https://github.com/rust-lang/rust-clippy/pull/15019)
153+
* [fix FP of `identity_op` when encountering `Default::default()`](https://github.com/rust-lang/rust-clippy/pull/15028)
154+
* [fix `collapsible_else_if` FP on conditionally compiled stmt](https://github.com/rust-lang/rust-clippy/pull/14906)
155+
* [fix `needless_doctest_main` panic when doctest is invalid](https://github.com/rust-lang/rust-clippy/pull/15052)
156+
* [fix `unit_arg` suggests wrongly for `Default::default`](https://github.com/rust-lang/rust-clippy/pull/14881)
157+
* [fix suggestion-causes-error of `manual_swap`](https://github.com/rust-lang/rust-clippy/pull/14978)
158+
* [fixes `manual_flatten` removes the useless if let](https://github.com/rust-lang/rust-clippy/pull/14861)
159+
* [remove `ClippyCtfe` pass](https://github.com/rust-lang/rust-clippy/pull/14712)
160+
* [remove unneeded lifetime](https://github.com/rust-lang/rust-clippy/pull/15040)
161+
162+
#### Rust-Analyzer
163+
164+
* [`ItemTree`'s `ItemVisibilities` has no identity, so deduplicate](https://github.com/rust-lang/rust-analyzer/pull/19980)
165+
* [add support for excluding imports from symbol search](https://github.com/rust-lang/rust-analyzer/pull/19996)
166+
* [cleanup incremental tests and verify query executions](https://github.com/rust-lang/rust-analyzer/pull/20006)
167+
* [add the quickfix for increasing visibility of a private field to the private-field diagnostic](https://github.com/rust-lang/rust-analyzer/pull/19945)
168+
* [in "Fill match arms", allow users to prefer `Self` to the `enum` name when possible](https://github.com/rust-lang/rust-analyzer/pull/19939)
169+
* [insert required parentheses when typing `+` in dyn trait type](https://github.com/rust-lang/rust-analyzer/pull/20015)
170+
* [show what cargo metadata is doing in status](https://github.com/rust-lang/rust-analyzer/pull/20014)
171+
* [copy lockfiles into target directory before invoking `cargo metadata`](https://github.com/rust-lang/rust-analyzer/pull/20018)
172+
* [do not force descend into derives for goto IDE features](https://github.com/rust-lang/rust-analyzer/pull/19981)
173+
* [fix comparison of proc macros](https://github.com/rust-lang/rust-analyzer/pull/19983)
174+
* [fix completion with some attribute macros](https://github.com/rust-lang/rust-analyzer/pull/19942)
175+
* [fix proc macro server handling of strings with minuses](https://github.com/rust-lang/rust-analyzer/pull/19970)
176+
* [hide dyn inlay hints for incomplete `impl`s](https://github.com/rust-lang/rust-analyzer/pull/19973)
177+
* [never make type mismatch diagnostic stable, even when there is a fix](https://github.com/rust-lang/rust-analyzer/pull/20022)
178+
* [reload workspaces when cargo configs change](https://github.com/rust-lang/rust-analyzer/pull/20020)
179+
* [support spans with proc macro servers from before the ast id changes](https://github.com/rust-lang/rust-analyzer/pull/19985)
180+
* [generate annotations for macro defined items if their name is in the input](https://github.com/rust-lang/rust-analyzer/pull/19990)
181+
* [idiomatic salsa use for `enum` variants query](https://github.com/rust-lang/rust-analyzer/pull/20007)
182+
* [improve completions in if / while expression conditions](https://github.com/rust-lang/rust-analyzer/pull/20023)
183+
* [optimize `pub(crate)` and `pub(self)` visibility resolution](https://github.com/rust-lang/rust-analyzer/pull/20009)
184+
* [perf: bring back `EMPTY` item tree deduplication](https://github.com/rust-lang/rust-analyzer/pull/19991)
185+
* [provide better incrementality when items are changed](https://github.com/rust-lang/rust-analyzer/pull/19837)
186+
* [simplify and optimize `ItemTree`](https://github.com/rust-lang/rust-analyzer/pull/19982)
187+
* [turn `BlockId` into a `#[salsa::tracked]`](https://github.com/rust-lang/rust-analyzer/pull/19995)
188+
* [use `ThinVec` in `ItemScope` in a couple places](https://github.com/rust-lang/rust-analyzer/pull/19992)
108189

109190
### Rust Compiler Performance Triage
110191

@@ -309,7 +390,15 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
309390

310391
# Quote of the Week
311392

312-
<!-- QOTW goes here -->
393+
394+
395+
> But after a few weeks, it compiled and the results surprised us. The code was 10x faster than our carefully tuned Kotlin implementation – despite no attempt to make it faster. To put this in perspective, we had spent years incrementally improving the Kotlin version from 2,000 to 3,000 transactions per second (TPS). The Rust version, written by Java developers who were new to the language, clocked 30,000 TPS.
396+
>
397+
> This was one of those moments that fundamentally shifts your thinking. Suddenly, the couple of weeks spent learning Rust no longer looked like a big deal, when compared with how long it’d have taken us to get the same results on the JVM. We stopped asking, “Should we be using Rust?” and started asking “Where else could Rust help us solve our problems?”
398+
399+
[Dr. Werner Vogels on his blog](https://www.allthingsdistributed.com/2025/05/just-make-it-scale-an-aurora-dsql-story.html)
400+
401+
Thanks to [Brian Kung](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1697) for the suggestion!
313402

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

0 commit comments

Comments
 (0)