Skip to content

Commit

Permalink
Merge pull request #6247 from llogiq/twir-580
Browse files Browse the repository at this point in the history
C/QotW and notable changes
  • Loading branch information
nellshamrell authored Jan 1, 2025
2 parents f0373f9 + f5d9bd8 commit 34bf7a6
Showing 1 changed file with 99 additions and 3 deletions.
102 changes: 99 additions & 3 deletions draft/2025-01-01-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 [fake](https://crates.io/crates/fake), a library (and recently console utility) to generate fake data of various types.

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

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

Expand Down Expand Up @@ -99,7 +101,97 @@ 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 -->
331 pull requests were [merged in the last week][merged]

[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2024-12-24..2024-12-31

* [enable LSX feature for LoongArch OpenHarmony target](https://github.com/rust-lang/rust/pull/134751)
* [explicitly set float ABI for all ARM targets](https://github.com/rust-lang/rust/pull/134932)
* [A couple datalog/borrowck cleanups](https://github.com/rust-lang/rust/pull/134914)
* [`rustc_codegen_ssa`: Buffer file writes in `link_rlib`](https://github.com/rust-lang/rust/pull/134866)
* [account for C string literals and `format_args` in `HiddenUnicodeCodepoints` lint](https://github.com/rust-lang/rust/pull/134956)
* [account for removal of multiline span in suggestion](https://github.com/rust-lang/rust/pull/134664)
* [actually print all the relevant parts of a coroutine in verbose mode](https://github.com/rust-lang/rust/pull/134741)
* [add `--no-capture`/`--nocapture` as bootstrap arguments](https://github.com/rust-lang/rust/pull/134809)
* [add a compiler intrinsic to back `bigint_helper_methods`](https://github.com/rust-lang/rust/pull/133663)
* [avoid ICE in borrowck](https://github.com/rust-lang/rust/pull/134627)
* [compiler: add a statement-of-intent to `rustc_abi`](https://github.com/rust-lang/rust/pull/134941)
* [compute liveness constraints in location-sensitive polonius](https://github.com/rust-lang/rust/pull/134670)
* [consider arm to diverge if guard diverges](https://github.com/rust-lang/rust/pull/134735)
* [consider empty-unreachable otherwise branches in MatchBranchSimplification](https://github.com/rust-lang/rust/pull/131244)
* [default to short backtraces for dev builds of rustc itself](https://github.com/rust-lang/rust/pull/134743)
* [implement `default_overrides_default_fields` lint](https://github.com/rust-lang/rust/pull/134737)
* [improve default target options for `x86_64-unknown-linux-none`](https://github.com/rust-lang/rust/pull/134765)
* [improve type mutation for certain structures](https://github.com/rust-lang/rust/pull/134724)
* [make -Csoft-float have an effect on all ARM targets](https://github.com/rust-lang/rust/pull/134885)
* [make `ty::Error` implement all auto traits](https://github.com/rust-lang/rust/pull/134798)
* [make sure we check the future type is `Sized` in `AsyncFn*`](https://github.com/rust-lang/rust/pull/134933)
* [skip parenthesis around tuple `struct` field calls](https://github.com/rust-lang/rust/pull/134834)
* [skip parenthesis if `.` makes statement boundary unambiguous](https://github.com/rust-lang/rust/pull/134833)
* [some random region tweaks](https://github.com/rust-lang/rust/pull/134827)
* [strip debuginfo from rustc-main and rustdoc](https://github.com/rust-lang/rust/pull/134803)
* [miri: FD handling: avoid unnecessary dynamic downcasts](https://github.com/rust-lang/miri/pull/4114)
* [miri: epoll: avoid some clones](https://github.com/rust-lang/miri/pull/4115)
* [miri: error on some invalid flag combinations](https://github.com/rust-lang/miri/pull/4109)
* [miri: fix toolchain flag parsing](https://github.com/rust-lang/miri/pull/4113)
* [miri: socket read/write cleanup](https://github.com/rust-lang/miri/pull/4112)
* [stabilize `const_alloc_layout`](https://github.com/rust-lang/rust/pull/134768)
* [stabilize `const_swap`](https://github.com/rust-lang/rust/pull/134757)
* [stabilize `style_edition = "2024"` in-tree](https://github.com/rust-lang/rust/pull/134929)
* [make `slice::as_flattened_mut` unstably const](https://github.com/rust-lang/rust/pull/134927)
* [tidy up bigint multiplication methods](https://github.com/rust-lang/rust/pull/132195)
* [from iterator for more tuples](https://github.com/rust-lang/rust/pull/132431)
* [add `into_array` conversion destructors for `Box`, Rc`, and Arc`](https://github.com/rust-lang/rust/pull/134379)
* [avoid short writes in LineWriter](https://github.com/rust-lang/rust/pull/134620)
* [unify `fs::copy` and `io::copy` on Linux](https://github.com/rust-lang/rust/pull/134547)
* [fix forgetting to save statx availability on success](https://github.com/rust-lang/rust/pull/134649)
* [fix mistake in windows file open](https://github.com/rust-lang/rust/pull/134819)
* [fix renaming symlinks on Windows](https://github.com/rust-lang/rust/pull/134786)
* [windows: use WriteFile to write to a UTF-8 console](https://github.com/rust-lang/rust/pull/134622)
* [windows: use `FILE_ALLOCATION_INFO` for truncation](https://github.com/rust-lang/rust/pull/134722)
* [cargo: `fix(package)`: check dirtiness of path fields in manifest](https://github.com/rust-lang/cargo/pull/14966)
* [cargo: `fix(package)`: check dirtiness of symlinks source files](https://github.com/rust-lang/cargo/pull/14981)
* [cargo: `fix(package)`: warn if symlinks checked out as plain text files](https://github.com/rust-lang/cargo/pull/14994)
* [cargo: `refactor(package)`: split `cargo_package` to modules](https://github.com/rust-lang/cargo/pull/14982)
* [cargo: fix: assure possibly blocking non-files (like FIFOs) won't be picked up for publishing](https://github.com/rust-lang/cargo/pull/14977)
* [cargo: moved manifest metadata tracking from fingerprint to dep info](https://github.com/rust-lang/cargo/pull/14973)
* [cargo: test: make path arguments more generic and flexible](https://github.com/rust-lang/cargo/pull/14979)
* [cargo: test: relax `bad_crate_type` to only match error message prefix](https://github.com/rust-lang/cargo/pull/14990)
* [cargo: test: relax panic output assertion](https://github.com/rust-lang/cargo/pull/14989)
* [rustdoc: use shorter paths as preferred canonical paths](https://github.com/rust-lang/rust/pull/134806)
* [unsafe binder support in rustdoc](https://github.com/rust-lang/rust/pull/134857)
* [clippy: `borrow_interior_mutable_const` ICE into FN](https://github.com/rust-lang/rust-clippy/pull/13877)
* [clippy: auto-fix `if_not_else`](https://github.com/rust-lang/rust-clippy/pull/13809)
* [clippy: correct suggestion for `manual_div_ceil` lint](https://github.com/rust-lang/rust-clippy/pull/13864)
* [clippy: do not remove required parentheses in `borrow_as_ptr` suggestion](https://github.com/rust-lang/rust-clippy/pull/13884)
* [clippy: do not trigger `trailing_empty_array` in tests](https://github.com/rust-lang/rust-clippy/pull/13844)
* [clippy: fix arguments of `ExprKind::MethodCall`](https://github.com/rust-lang/rust-clippy/pull/13890)
* [clippy: fix parentheses when replacing `matches!(…, None)` with `.is_none()`](https://github.com/rust-lang/rust-clippy/pull/13906)
* [clippy: make `inconsistent_struct_constructor` "all fields are shorthand" requirement configurable](https://github.com/rust-lang/rust-clippy/pull/13737)
* [clippy: remove description of known problems in `match_same_arms` that have already been resolved](https://github.com/rust-lang/rust-clippy/pull/13873)
* [clippy: remove obsolete comment](https://github.com/rust-lang/rust-clippy/pull/13850)
* [clippy: use the correct `ParamEnv` when checking future's output type](https://github.com/rust-lang/rust-clippy/pull/13863)
* [clippy: use the full lifetime name in suggestions](https://github.com/rust-lang/rust-clippy/pull/13907)
* [rust-analyzer: cleanup target fetching for cargo metadata](https://github.com/rust-lang/rust-analyzer/pull/18754)
* [rust-analyzer: cleanup toolchain info fetching](https://github.com/rust-lang/rust-analyzer/pull/18785)
* [rust-analyzer: decouple proc-macro server protocol from the server implementation](https://github.com/rust-lang/rust-analyzer/pull/18792)
* [rust-analyzer: show go-to-type-def actions for subst when hovering](https://github.com/rust-lang/rust-analyzer/pull/18801)
* [rust-analyzer: show substitution where hovering over generic things](https://github.com/rust-lang/rust-analyzer/pull/18707)
* [rust-analyzer: unify handling of path diagnostics in hir-ty](https://github.com/rust-lang/rust-analyzer/pull/18743)
* [rust-analyzer: fix bug of "fill match arm" action in `tokio::main` macro](https://github.com/rust-lang/rust-analyzer/pull/18794)
* [rust-analyzer: fix missing name `enum` when hovering on fields in variants](https://github.com/rust-lang/rust-analyzer/pull/18756)
* [rust-analyzer: fix render of literal to be rendered in codeblock](https://github.com/rust-lang/rust-analyzer/pull/18795)
* [rust-analyzer: fix replace-if-let-with-match generates non-exhausive match](https://github.com/rust-lang/rust-analyzer/pull/18797)
* [rust-analyzer: avoid generating colliding names in `extract_variable`](https://github.com/rust-lang/rust-analyzer/pull/18791)
* [rust-analyzer: consider `Enum::Variant` even when it comes from a different crate](https://github.com/rust-lang/rust-analyzer/pull/18779)
* [rust-analyzer: do not merge spans if they have different anchors](https://github.com/rust-lang/rust-analyzer/pull/18784)
* [rust-analyzer: fix flycheck diagnostics flickering for binary targets](https://github.com/rust-lang/rust-analyzer/pull/18778)
* [rust-analyzer: fix invalid `-O` flag used by cfg discovery](https://github.com/rust-lang/rust-analyzer/pull/18789)
* [rust-analyzer: fix metrics workflow using the wrong download-artifact version](https://github.com/rust-lang/rust-analyzer/pull/18755)
* [rust-analyzer: incorrect `file_id` used for ranges in outgoing calls](https://github.com/rust-lang/rust-analyzer/pull/18802)
* [rust-analyzer: populate cargo config env vars for crates](https://github.com/rust-lang/rust-analyzer/pull/18807)
* [rust-analyzer: implement parameter variance inference](https://github.com/rust-lang/rust-analyzer/pull/18774)
* [rust-analyzer: treat ; as a terminator rather part of a glued expression](https://github.com/rust-lang/rust-analyzer/pull/18744)

### Rust Compiler Performance Triage

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

# Quote of the Week

<!-- QOTW goes here -->
> Hear, hear! Rust is the real deep state. They knew all along that memory-related bugs would dominate the Vulnerability Rating Taxonomy. Coincidence? I think not. 🐛🔧
[@amoghavarsha@infosec.exchange on mastodon](https://infosec.exchange/@amoghavarsha/113741018641283042)

Thanks to [llogiq](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1646) 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 34bf7a6

Please sign in to comment.