Skip to content

C/QotW and notable changes #6527

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 2, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 59 additions & 3 deletions draft/2025-04-02-this-week-in-rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,9 @@ and just ask the editors to select the category.

## Crate of the Week

<!-- COTW goes here -->
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.

Thanks to [Tomer Filiba](https://users.rust-lang.org/t/crate-of-the-week/2704/1424) for the self-suggestion!

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

Expand Down Expand Up @@ -113,7 +115,57 @@ If you are an event organizer hoping to expand the reach of your event, please s

## Updates from the Rust Project

<!-- Rust updates go here -->
438 pull requests were [merged in the last week][merged]

[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-03-25..2025-04-01

#### Compiler

* [allow defining opaques in statics and consts](https://github.com/rust-lang/rust/pull/138911)
* [avoid wrapping constant allocations in packed structs when not necessary](https://github.com/rust-lang/rust/pull/138503)
* [perform less decoding if it has the same syntax context](https://github.com/rust-lang/rust/pull/129827)
* [stabilize `precise_capturing_in_traits`](https://github.com/rust-lang/rust/pull/138128)
* [uplift `clippy::invalid_null_ptr_usage` lint as `invalid_null_arguments`](https://github.com/rust-lang/rust/pull/119220)

#### Library

* [allow spawning threads after TLS destruction](https://github.com/rust-lang/rust/pull/138702)
* [override PartialOrd methods for bool](https://github.com/rust-lang/rust/pull/138945)
* [simplify expansion for `format_args!()`](https://github.com/rust-lang/rust/pull/139131)
* [stabilize `const_cell`](https://github.com/rust-lang/rust/pull/137928)

#### Rustdoc

* [greatly simplify doctest parsing and information extraction](https://github.com/rust-lang/rust/pull/138104)
* [rearrange `Item`/`ItemInner`](https://github.com/rust-lang/rust/pull/138927)

#### Clippy

* [new lint: `char_indices_as_byte_indices`](https://github.com/rust-lang/rust-clippy/pull/13435)
* [add `manual_dangling_ptr` lint](https://github.com/rust-lang/rust-clippy/pull/14107)
* [respect `#[expect]` and `#[allow]` within function bodies for `missing_panics_doc`](https://github.com/rust-lang/rust-clippy/pull/14407)
* [do not make incomplete or invalid suggestions](https://github.com/rust-lang/rust-clippy/pull/14487)
* [do not warn about shadowing in a destructuring assigment](https://github.com/rust-lang/rust-clippy/pull/14381)
* [expand `obfuscated_if_else` to support `{then(), then_some()}.unwrap_or_default()`](https://github.com/rust-lang/rust-clippy/pull/14431)
* [fix the primary span of `redundant_pub_crate` when flagging nameless items](https://github.com/rust-lang/rust-clippy/pull/14516)
* [fix `option_if_let_else` suggestion when coercion requires explicit cast](https://github.com/rust-lang/rust-clippy/pull/14389)
* [fix `unnested_or_patterns` suggestion in `let`](https://github.com/rust-lang/rust-clippy/pull/14401)
* [make `collapsible_if` recognize the `let_chains` feature](https://github.com/rust-lang/rust-clippy/pull/14481)
* [make `missing_const_for_fn` operate on non-optimized MIR](https://github.com/rust-lang/rust-clippy/pull/14003)
* [more natural suggestions for `cmp_owned`](https://github.com/rust-lang/rust-clippy/pull/14247)
* [`collapsible_if`: prevent including preceeding whitespaces if line contains non blanks](https://github.com/rust-lang/rust-clippy/pull/14480)
* [properly handle expansion in `single_match`](https://github.com/rust-lang/rust-clippy/pull/14495)
* [validate paths in `disallowed_*` configurations](https://github.com/rust-lang/rust-clippy/pull/14397)

#### Rust-Analyzer

* [allow crate authors to control completion of their things](https://github.com/rust-lang/rust-analyzer/pull/19375)
* [avoid relying on `block_def_map()` needlessly](https://github.com/rust-lang/rust-analyzer/pull/19492)
* [fix debug sourceFileMap when using cppvsdbg](https://github.com/rust-lang/rust-analyzer/pull/19475)
* [fix `format_args` lowering using wrong integer suffix](https://github.com/rust-lang/rust-analyzer/pull/19460)
* [fix a bug in orphan rules calculation](https://github.com/rust-lang/rust-analyzer/pull/19466)
* [fix panic in progress due to splitting unicode incorrectly](https://github.com/rust-lang/rust-analyzer/pull/19490)
* [use medium durability for crate-graph changes, high for library source files](https://github.com/rust-lang/rust-analyzer/pull/19451)

### Rust Compiler Performance Triage

Expand Down Expand Up @@ -325,7 +377,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)

# Quote of the Week

<!-- QOTW goes here -->
> If you write a bug in your Rust program, Rust doesn’t blame you. Rust asks “how could the compiler have spotted that bug”.

– [Ian Jackson blogging about Rust](https://diziet.dreamwidth.org/19480.html)

Despite a lack of suggestions, llogiq is quite pleased with his choice.

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

Expand Down