Skip to content

Commit

Permalink
Merge pull request #6333 from llogiq/twir-584
Browse files Browse the repository at this point in the history
C/QotW and notable changes
  • Loading branch information
nellshamrell authored Jan 30, 2025
2 parents f5e255d + 19fb11f commit e2c2905
Showing 1 changed file with 110 additions and 3 deletions.
113 changes: 110 additions & 3 deletions draft/2025-01-29-this-week-in-rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,9 @@ and just ask the editors to select the category.

## Crate of the Week

<!-- COTW goes here -->
This week's crate is [embed\_it](https://github.com/riberk/embed_it), a crate that helps you to embed assets into your binary and generates structs / trait implementations for each file or directory.

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

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

Expand Down Expand Up @@ -106,7 +108,108 @@ 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 -->
408 pull requests were [merged in the last week][merged]

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

* [support QNX 7.1 with `io-sock`+libstd and QNX 8.0 (`no_std` only)](https://github.com/rust-lang/rust/pull/133631)
* [mark all NuttX targets as tier 3 target and support the standard library](https://github.com/rust-lang/rust/pull/136037)
* [add NuttX support for AArch64 and ARMv7-A targets](https://github.com/rust-lang/rust/pull/135757)
* [add `#[optimize(none)]`](https://github.com/rust-lang/rust/pull/128657)
* [account for mutable borrow in argument suggestion](https://github.com/rust-lang/rust/pull/136032)
* [add a suggestion to cast `target_feature` fn items to fn pointers](https://github.com/rust-lang/rust/pull/136064)
* [add a workaround for parallel rustc crashing when there are delayed bugs](https://github.com/rust-lang/rust/pull/135988)
* [change `collect_and_partition_mono_items` tuple return type to a `struct`](https://github.com/rust-lang/rust/pull/136118)
* [codegen: store ScalarPair via memset when one side is undef and the other side can be memset](https://github.com/rust-lang/rust/pull/135335)
* [compiler: set `target_abi = "ilp32e"` on all riscv32e targets](https://github.com/rust-lang/rust/pull/134358)
* [coverage: prepare for upcoming changes to counter creation](https://github.com/rust-lang/rust/pull/135873)
* [detect missing fields with default values and suggest `..`](https://github.com/rust-lang/rust/pull/135794)
* [do not assume const params are printed after type params](https://github.com/rust-lang/rust/pull/135749)
* [don't ICE in coerce when autoderef fails to structurally normalize non-WF type in new solver](https://github.com/rust-lang/rust/pull/134746)
* [don't drop types with no drop glue when building drops for tailcalls](https://github.com/rust-lang/rust/pull/135976)
* [don't pick `T: FnPtr` nested goals as the leaf goal in diagnostics for new solver](https://github.com/rust-lang/rust/pull/135866)
* [enable `unreachable_pub` lint in `test` and `proc_macro` crates](https://github.com/rust-lang/rust/pull/135366)
* [enable kernel sanitizers for aarch64-unknown-none-softfloat](https://github.com/rust-lang/rust/pull/135905)
* [fix GDB `OsString` provider on Windows](https://github.com/rust-lang/rust/pull/135812)
* [fix ICE: multiple never-pattern arm doesn't have `false_edge_start_block`](https://github.com/rust-lang/rust/pull/135409)
* [forbid usage of `hir Infer` const/ty variants in ambiguous contexts](https://github.com/rust-lang/rust/pull/135272)
* [handle global trait bounds defining assoc types](https://github.com/rust-lang/rust/pull/135766)
* [implement `needs-subprocess` directive, and cleanup a bunch of tests to use `needs-{subprocess,threads}`](https://github.com/rust-lang/rust/pull/135926)
* [improve check-cfg expected names diagnostic](https://github.com/rust-lang/rust/pull/136016)
* [make our `DIFlags` match `LLVMDIFlags` in the LLVM-C API](https://github.com/rust-lang/rust/pull/135156)
* [make the `wasm_c_abi` future compat warning a hard error](https://github.com/rust-lang/rust/pull/133951)
* [point at invalid utf-8 span on user's source code](https://github.com/rust-lang/rust/pull/135557)
* [properly record metavar spans for other expansions other than TT](https://github.com/rust-lang/rust/pull/134478)
* [properly report error when object type param default references self](https://github.com/rust-lang/rust/pull/135971)
* [remove support for the (unstable) `#[start]` attribute](https://github.com/rust-lang/rust/pull/134299)
* [remove usages of `QueryNormalizer` in the compiler](https://github.com/rust-lang/rust/pull/135914)
* [reword resolve errors caused by likely missing crate in dep tree](https://github.com/rust-lang/rust/pull/133154)
* [rework dyn trait lowering to stop being so intertwined with trait alias expansion](https://github.com/rust-lang/rust/pull/133830)
* [shorten linker output even more when `--verbose` is not present](https://github.com/rust-lang/rust/pull/135707)
* [show linker output even if the linker succeeds](https://github.com/rust-lang/rust/pull/119286)
* [simplify `parse_format::Parser::ws` by using `next_if`](https://github.com/rust-lang/rust/pull/135920)
* [skip `if-let-rescope` lint unless requested by migration](https://github.com/rust-lang/rust/pull/132666)
* [skip suggestions in `derive`d code](https://github.com/rust-lang/rust/pull/136027)
* [support wasm inline assembly in `naked_asm!`](https://github.com/rust-lang/rust/pull/135648)
* [tidy Python improvements](https://github.com/rust-lang/rust/pull/135950)
* [uplift `clippy::double_neg` lint as `double_negations`](https://github.com/rust-lang/rust/pull/126604)
* [use `structurally_normalize` instead of manual `normalizes-to` goals in alias relate errors](https://github.com/rust-lang/rust/pull/135816)
* [use identifiers more in diagnostics code](https://github.com/rust-lang/rust/pull/136114)
* [use short type string in E0308 secondary span label](https://github.com/rust-lang/rust/pull/135949)
* [miri: many-seeds: do not use more than 8 threads](https://github.com/rust-lang/miri/pull/4152)
* [miri: pre-intern name when searching module children](https://github.com/rust-lang/miri/pull/4153)
* [implement `ByteStr` and `ByteString` types](https://github.com/rust-lang/rust/pull/135073)
* [implement `VecDeque::pop_front_if` & `VecDeque::pop_back_if`](https://github.com/rust-lang/rust/pull/135890)
* [implement phantom variance markers](https://github.com/rust-lang/rust/pull/135807)
* [windows x86: Change i128 to return via the vector ABI](https://github.com/rust-lang/rust/pull/134290)
* [cargo: config: When merging, replace rather than combining specific configuration keys](https://github.com/rust-lang/cargo/pull/15066)
* [cargo: login: Deprecate CLI token](https://github.com/rust-lang/cargo/pull/15057)
* [cargo: fix `shared_std_dependency_rebuild` running on Windows](https://github.com/rust-lang/cargo/pull/15111)
* [cargo: fix broken links in the Cargo book](https://github.com/rust-lang/cargo/pull/15109)
* [cargo: make --allow-dirty imply --allow-staged](https://github.com/rust-lang/cargo/pull/15013)
* [cargo: print globs when workspace members can't be found](https://github.com/rust-lang/cargo/pull/15093)
* [cargo: remove unused `-C link-arg=-fuse-ld=lld`](https://github.com/rust-lang/cargo/pull/15097)
* [rustdoc: Fix indent of trait items on mobile](https://github.com/rust-lang/rust/pull/135998)
* [rustfmt: fix: `wrap_comments` creating invalid code blocks](https://github.com/rust-lang/rustfmt/pull/6417)
* [clippy: `arithmetic_side_effects`: check adjusted expression types](https://github.com/rust-lang/rust-clippy/pull/14062)
* [clippy: `match_bool`: fix suggestion if guard is present](https://github.com/rust-lang/rust-clippy/pull/14039)
* [clippy: `short_circuit_statement`: handle macros and parenthesis better](https://github.com/rust-lang/rust-clippy/pull/14047)
* [clippy: `unnecessary_semicolon`: do not lint if it may cause borrow errors](https://github.com/rust-lang/rust-clippy/pull/14049)
* [clippy: add necessary adjustments to suggestion to remove redundant `.into_iter()` calls](https://github.com/rust-lang/rust-clippy/pull/14035)
* [clippy: add new lint `doc_overindented_list_items`](https://github.com/rust-lang/rust-clippy/pull/13711)
* [clippy: add new lint `non_std_lazy_statics`](https://github.com/rust-lang/rust-clippy/pull/13770)
* [clippy: correct suggestions in `no_std`](https://github.com/rust-lang/rust-clippy/pull/13999)
* [clippy: don't trigger `needless_late_init` when the first usage is in macro](https://github.com/rust-lang/rust-clippy/pull/14053)
* [clippy: make `unnecessary_map_or` work with ref and `Deref` to `Option`/`Result`](https://github.com/rust-lang/rust-clippy/pull/14024)
* [clippy: new lint `sliced_string_as_bytes`](https://github.com/rust-lang/rust-clippy/pull/14002)
* [clippy: proper applicability for `obfuscated_if_else`](https://github.com/rust-lang/rust-clippy/pull/14061)
* [clippy: suggest using `Vec::extend()` in `same_item_push`](https://github.com/rust-lang/rust-clippy/pull/13987)
* [clippy: trigger `obfuscated_if_else` for `.then(..).unwrap_or(..)`](https://github.com/rust-lang/rust-clippy/pull/14021)
* [rust-analyzer: check cfg when collecting macro defs](https://github.com/rust-lang/rust-analyzer/pull/19014)
* [rust-analyzer: explicitly add buildfiles when constructing ProjectFolders](https://github.com/rust-lang/rust-analyzer/pull/19019)
* [rust-analyzer: implement `arbitrary-self-types`](https://github.com/rust-lang/rust-analyzer/pull/19012)
* [rust-analyzer: implement `default-field-values`](https://github.com/rust-lang/rust-analyzer/pull/19001)
* [rust-analyzer: provide a config to control auto-insertion of `await` and `iter()`](https://github.com/rust-lang/rust-analyzer/pull/18993)
* [rust-analyzer: support safe functions marked with `#[target_feature(..)]`](https://github.com/rust-lang/rust-analyzer/pull/19038)
* [rust-analyzer: don't complete `doc(hidden) enum` variants and use trees](https://github.com/rust-lang/rust-analyzer/pull/19034)
* [rust-analyzer: don't suggest `into_iter().method()` on iterators](https://github.com/rust-lang/rust-analyzer/pull/19050)
* [rust-analyzer: fix `ItemScope` not recording glob imports](https://github.com/rust-lang/rust-analyzer/pull/19016)
* [rust-analyzer: fix a missing standard token in semantic highlighting](https://github.com/rust-lang/rust-analyzer/pull/19045)
* [rust-analyzer: fix flycheck panicking with "once" invocation strategy](https://github.com/rust-lang/rust-analyzer/pull/19017)
* [rust-analyzer: fix flyimport not filtering via stability of import path](https://github.com/rust-lang/rust-analyzer/pull/19028)
* [rust-analyzer: fix syntactic highlighting for renames](https://github.com/rust-lang/rust-analyzer/pull/19047)
* [rust-analyzer: in completion's expand, consider recursion stop condition (when we're not inside a macro call anymore) *after* the recursive call instead of before it](https://github.com/rust-lang/rust-analyzer/pull/19037)
* [rust-analyzer: prevent infinite recursion of bounds formatting](https://github.com/rust-lang/rust-analyzer/pull/19020)
* [rust-analyzer: report calling unsafe fn pointer as unsafe](https://github.com/rust-lang/rust-analyzer/pull/19051)
* [rust-analyzer: sort completion items that skip `await` and `iter()` behind those that don't](https://github.com/rust-lang/rust-analyzer/pull/18988)
* [rust-analyzer: goto `Display::fmt` when invoked on `to_string`](https://github.com/rust-lang/rust-analyzer/pull/18986)
* [rust-analyzer: increase `AUTODEREF_RECURSION_LIMIT` to 20](https://github.com/rust-lang/rust-analyzer/pull/19004)
* [rust-analyzer: keep already computed inlay hint properties instead of late resolving them](https://github.com/rust-lang/rust-analyzer/pull/18991)
* [rust-analyzer: make niches into nices](https://github.com/rust-lang/rust-analyzer/pull/18973)
* [rust-analyzer: only collect implicit visibile use symbols if they have renames](https://github.com/rust-lang/rust-analyzer/pull/19026)
* [rust-analyzer: prioritize formatting thread tasks in `main_loop`](https://github.com/rust-lang/rust-analyzer/pull/19052)
* [rust-analyzer: split out `ExpressionStore` from `Body`](https://github.com/rust-lang/rust-analyzer/pull/19036)
* [rust-analyzer: use `strict_provenance`](https://github.com/rust-lang/rust-analyzer/pull/18909)

### Rust Compiler Performance Triage

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

# Quote of the Week

<!-- QOTW goes here -->
> I have experience in multiple styles of MMA gained from fighting the borrow checker, if that counts.
[Richard Neumann on rust-users](https://users.rust-lang.org/t/is-it-worth-getting-a-degree-in-rust/124678/2)

Thanks to [Jonas Fassbender](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1654) for the suggestion!

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

Expand Down

0 comments on commit e2c2905

Please sign in to comment.