Skip to content

Commit b65f68a

Browse files
authored
C/QotW and notable changes (#6441)
1 parent 132d3ea commit b65f68a

File tree

1 file changed

+85
-3
lines changed

1 file changed

+85
-3
lines changed

draft/2025-03-05-this-week-in-rust.md

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

7979
## Crate of the Week
8080

81-
<!-- COTW goes here -->
81+
This week's crate is [wild](https://crates.io/crates/wild-linker), a pretty fast linker written in Rust.
82+
83+
Thanks to [Mateusz Mikuła](https://users.rust-lang.org/t/crate-of-the-week/2704/1418) for the (sort of self-)suggestion!
8284

8385
[Please submit your suggestions and votes for next week][submit_crate]!
8486

@@ -127,7 +129,79 @@ If you are an event organizer hoping to expand the reach of your event, please s
127129

128130
## Updates from the Rust Project
129131

130-
<!-- Rust updates go here -->
132+
502 pull requests were [merged in the last week][merged]
133+
134+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-02-25..2025-03-04
135+
136+
#### Compiler
137+
138+
* [introduce `feature(generic_const_parameter_types)`](https://github.com/rust-lang/rust/pull/137617)
139+
* [fix parsing of ranges after unary operators](https://github.com/rust-lang/rust/pull/134900)
140+
* [implement `#[cfg]` in `where` clauses](https://github.com/rust-lang/rust/pull/132388)
141+
* [optimize empty provenance range checks](https://github.com/rust-lang/rust/pull/137704)
142+
143+
#### Library
144+
145+
* [add `IntoBounds::intersect` and `RangeBounds::is_empty`](https://github.com/rust-lang/rust/pull/137304)
146+
* [fix Windows `Command` search path bug](https://github.com/rust-lang/rust/pull/137673)
147+
* [stabilize `core::str::from_utf8_mut` as `const`](https://github.com/rust-lang/rust/pull/136668)
148+
* [stabilize `extract_if`](https://github.com/rust-lang/rust/pull/137109)
149+
* [stabilize `hash_extract_if`](https://github.com/rust-lang/rust/pull/134655)
150+
151+
#### Cargo
152+
153+
* [cargo: add SBOM support](https://github.com/rust-lang/cargo/pull/13709) (RFC [#3553](https://github.com/arlosi/rfcs/blob/sbom/text/3553-cargo-sbom.md))
154+
* [cargo: cli: forward bash completions of third party subcommands](https://github.com/rust-lang/cargo/pull/15247)
155+
* [cargo: add completions for `--lockfile-path`](https://github.com/rust-lang/cargo/pull/15238)
156+
* [cargo: reset $CARGO if the running program is real `cargo[.exe]`](https://github.com/rust-lang/cargo/pull/15208)
157+
* [cargo: get all members as `available targets` even though default-members was specified](https://github.com/rust-lang/cargo/pull/15199)
158+
* [cargo: implemented `build.build-dir` config option](https://github.com/rust-lang/cargo/pull/15104)
159+
160+
#### Rustdoc
161+
162+
* [`librustdoc`: return `impl fmt::Display` in more places instead of writing to strings](https://github.com/rust-lang/rust/pull/137425)
163+
* [fully qualify `Result` in generated doctest code](https://github.com/rust-lang/rust/pull/137807)
164+
165+
#### Rustfmt
166+
167+
* [use `semver` to match required version](https://github.com/rust-lang/rustfmt/pull/6066)
168+
169+
#### Clippy
170+
171+
* new lints: [`manual_midpoint`](https://github.com/rust-lang/rust-clippy/pull/13851),
172+
[add `unnecessary_debug_formatting` lint](https://github.com/rust-lang/rust-clippy/pull/13893)
173+
* [move `comparison_chain` from `style` to `pedantic`](https://github.com/rust-lang/rust-clippy/pull/14219)
174+
* [`macro_use_import`: Don't check is attribute comes from expansion](https://github.com/rust-lang/rust-clippy/pull/14317)
175+
* [`manual_strip`: use existing identifier instead of placeholder](https://github.com/rust-lang/rust-clippy/pull/14188)
176+
* [`needless_collect`: avoid warning if non-iterator methods are used](https://github.com/rust-lang/rust-clippy/pull/14147)
177+
* [check for MSRV attributes in late passes using the HIR](https://github.com/rust-lang/rust-clippy/pull/13821)
178+
* [configuration option to lint `incompatible_msrv` in test code](https://github.com/rust-lang/rust-clippy/pull/14279)
179+
* [extend {`implicit`,`inverted`}`_saturating_sub` to expressions](https://github.com/rust-lang/rust-clippy/pull/14310)
180+
* [fix ICE in `doc_nested_refdefs` check by checking range](https://github.com/rust-lang/rust-clippy/pull/14308)
181+
* [fix ICE in `manual_map` lint](https://github.com/rust-lang/rust-clippy/pull/14326)
182+
* [fix: `map_entry` false positive inside closure](https://github.com/rust-lang/rust-clippy/pull/14307)
183+
* [fix: `map_entry` suggest wrongly when key is not `Copy`](https://github.com/rust-lang/rust-clippy/pull/14314)
184+
* [lint more cases with `ptr_eq`](https://github.com/rust-lang/rust-clippy/pull/14339)
185+
* [split `needless_lifetime '_` suggestions into `elidable_lifetime_names`](https://github.com/rust-lang/rust-clippy/pull/13960)
186+
187+
#### Rust-Analyzer
188+
189+
* [rust-analyzer: add `identifier` to pull diagnostic LSP capabilities](https://github.com/rust-lang/rust-analyzer/pull/19266)
190+
* [rust-analyzer: add anchor for intra-doc links to associated items](https://github.com/rust-lang/rust-analyzer/pull/19246)
191+
* [rust-analyzer: add flip or-pattern assist](https://github.com/rust-lang/rust-analyzer/pull/19259)
192+
* [rust-analyzer: allow "package/feature" format feature flag](https://github.com/rust-lang/rust-analyzer/pull/19204)
193+
* [rust-analyzer: allow rust-project.json to specify sysroot workspace](https://github.com/rust-lang/rust-analyzer/pull/19096)
194+
* [rust-analyzer: allow unsetting default cfgs](https://github.com/rust-lang/rust-analyzer/pull/19243)
195+
* [rust-analyzer: cofigurate out ohos target to avoid compilation crashes](https://github.com/rust-lang/rust-analyzer/pull/19239)
196+
* [rust-analyzer: completion-ref-matching](https://github.com/rust-lang/rust-analyzer/pull/19226)
197+
* [rust-analyzer: doc tests](https://github.com/rust-lang/rust-analyzer/pull/19237)
198+
* [rust-analyzer: doc: remove nit from setup.md](https://github.com/rust-lang/rust-analyzer/pull/19220)
199+
* [rust-analyzer: fix prefix adjustment hints unnecessarily introducing parens](https://github.com/rust-lang/rust-analyzer/pull/19249)
200+
* [rust-analyzer: fix sysroot crate-graph construction not mapping crate-ids for proc-macros](https://github.com/rust-lang/rust-analyzer/pull/19241)
201+
* [rust-analyzer: have `inline_local_variable` use precedence calculation for parentheses](https://github.com/rust-lang/rust-analyzer/pull/19250)
202+
* [rust-analyzer: remove syntax editing from parenthesis computation](https://github.com/rust-lang/rust-analyzer/pull/19251)
203+
* [rust-analyzer: support tuple `struct` patterns for `expand_rest_pattern` assist](https://github.com/rust-lang/rust-analyzer/pull/19261)
204+
* [rust-analyzer: warn when the used toolchain looks too old for rust-analyzer](https://github.com/rust-lang/rust-analyzer/pull/19244)
131205

132206
### Rust Compiler Performance Triage
133207

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

328402
# Quote of the Week
329403

330-
<!-- QOTW goes here -->
404+
> The performance impact of moving to Rust – and this is a common theme across everything done when we've moved from C/C++ to Rust – we saw a 5 to 15% performance Improvement.
405+
>
406+
> I'll say that one of the ways that you could attack that kind of stat is say well you rewrote it so whenever you rewrite something you're going to improve it and if you'd rewritten it in C or C++ you would have also seen an improvement like that but the fact is we did not intend to get a performance Improvement. This was purely a porting exercise and we saw this now.
407+
>
408+
> And the other aspect of this is that we never see performance regressions either when we're doing our ports [...]
409+
410+
[Mark Russinovich at RustNationUK '25'](https://youtu.be/1VgptLwP588?feature=shared&t=414)
411+
412+
Despite lacking suggestions, llogiq is quite pleased with his choice.
331413

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

0 commit comments

Comments
 (0)