483 lines
39 KiB
Markdown
483 lines
39 KiB
Markdown
Title: This Week in Rust 582
|
||
Number: 582
|
||
Date: 2025-01-15
|
||
Category: This Week in Rust
|
||
|
||
Hello and welcome to another issue of *This Week in Rust*!
|
||
[Rust](https://www.rust-lang.org/) is a programming language empowering everyone to build reliable and efficient software.
|
||
This is a weekly summary of its progress and community.
|
||
Want something mentioned? Tag us at [@ThisWeekInRust](https://x.com/ThisWeekInRust) on X (formerly Twitter) or [@ThisWeekinRust](https://mastodon.social/@thisweekinrust) on mastodon.social, or [send us a pull request](https://github.com/rust-lang/this-week-in-rust).
|
||
Want to get involved? [We love contributions](https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md).
|
||
|
||
*This Week in Rust* is openly developed [on GitHub](https://github.com/rust-lang/this-week-in-rust) and archives can be viewed at [this-week-in-rust.org](https://this-week-in-rust.org/).
|
||
If you find any errors in this week's issue, [please submit a PR](https://github.com/rust-lang/this-week-in-rust/pulls).
|
||
|
||
Want TWIR in your inbox? [Subscribe here](https://this-week-in-rust.us11.list-manage.com/subscribe?u=fd84c1c757e02889a9b08d289&id=0ed8b72485).
|
||
|
||
## Updates from Rust Community
|
||
|
||
<!--
|
||
|
||
Dear community contributors:
|
||
Please read README.md for guidance on submissions.
|
||
Each submitted link should be of the form:
|
||
|
||
* [Title of the Linked Page](https://example.com/my_article)
|
||
|
||
If you don't know which category to use, feel free to submit a PR anyway
|
||
and just ask the editors to select the category.
|
||
|
||
-->
|
||
|
||
### Official
|
||
* [Announcing Rust 1.84.0](https://blog.rust-lang.org/2025/01/09/Rust-1.84.0.html)
|
||
* [This Month in Our Test Infra: December 2024](https://blog.rust-lang.org/inside-rust/2025/01/10/test-infra-dec-2024.html)
|
||
|
||
### Foundation
|
||
* [Announcing Rust Global 2025: London](https://foundation.rust-lang.org/news/announcing-rust-global-2025-london/)
|
||
|
||
### Newsletters
|
||
* [This Month in Rust OSDev: December 2024](https://rust-osdev.com/this-month/2024-12/)
|
||
* [Rust Trends Issue #57](https://rust-trends.com/newsletter/start-2025-with-rust-honeypots-free-cloud-deployments-and-software-reliability/)
|
||
|
||
### Project/Tooling Updates
|
||
* [cargo.nvim - A Neovim plugin for Rust's Cargo commands](https://github.com/nwiizo/cargo.nvim)
|
||
* [Context-Generic Programming Updates: v0.3.0 Release and New Chapters](https://contextgeneric.dev/blog/v0-3-0-release/)
|
||
* [The RTen machine learning runtime - a 2024 retrospective](https://robertknight.me.uk/posts/rten-2024/)
|
||
|
||
### Observations/Thoughts
|
||
* [The gen auto-trait problem](https://blog.yoshuawuyts.com/gen-auto-trait-problem/)
|
||
* [Async Rust is about concurrency, not (just) performance](https://kobzol.github.io/rust/2025/01/15/async-rust-is-about-concurrency.html)
|
||
* [The Emotional Appeal of Rust](https://www.shuttle.dev/blog/2025/01/14/the-appeal-of-rust)
|
||
* [audio] [Brave with Anton Lazarev](https://corrode.dev/podcast/s03e07-brave/)
|
||
* [audio] [Lychee with Matthias Endler](https://rustacean-station.org/episode/matthias-endler/)
|
||
|
||
### Rust Walkthroughs
|
||
* [Creating an embedded device driver in Rust](https://blog.mjolner.tech/device-driver-rust/)
|
||
* [Const Evaluation in Rust For Hex Strings Validation](https://asyncmove.com/blog/2025/01/compile-time-hex-string-validation-in-rust-using-const-evaluation/)
|
||
* [Concurrent and parallel future execution in Rust](https://heikoseeberger.de/2025-01-15-concurrent-parallel-futures/)
|
||
* [video] [Intro to Embassy: embedded development with async Rust](https://www.youtube.com/watch?v=pDd5mXBF4tY)
|
||
* [video] [Comprehending Proc Macros](https://www.youtube.com/watch?v=SMCRQj9Hbx8)
|
||
* [video] [CppCon - C++/Rust Interop: Using Bridges in Practice](https://tylerjw.dev/posts/20240920-cppcon-cpp-rust-interop/)
|
||
|
||
### Miscellaneous
|
||
* [December 2024 Rust Jobs Report](https://filtra.io/rust/jobs-report/dec-24)
|
||
* [Tracing Large Memory Allocations in Rust with BPFtrace](https://readyset.io/blog/tracing-large-memory-allocations-in-rust-with-bpftrace)
|
||
* [On LLMs and Code Optimization](https://wiredream.com/llm-optimizing-digit-diff/)
|
||
* [Nand2Tetris - Project 7 (VM Translator Part 1)](https://gurudas.dev/blog/2025/01/01/nand-to-tetris-2024-project-7/)
|
||
|
||
## Crate of the Week
|
||
|
||
This week's crate is [vidyut](https://github.com/ambuda-org/vidyut), a Sanskrit toolkit containing functionality about meter, segmentation, inflections, etc.
|
||
|
||
Thanks to [Arun Prasad](https://users.rust-lang.org/t/crate-of-the-week/2704/1387) for the self-suggestion!
|
||
|
||
[Please submit your suggestions and votes for next week][submit_crate]!
|
||
|
||
[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704
|
||
|
||
## Calls for Testing
|
||
An important step for RFC implementation is for people to experiment with the
|
||
implementation and give feedback, especially before stabilization. The following
|
||
RFCs would benefit from user testing before moving forward:
|
||
|
||
### [RFCs](https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing)
|
||
* *No calls for testing were issued this week.*
|
||
|
||
### [Rust](https://github.com/rust-lang/rust/labels/call-for-testing)
|
||
* [Tracking issue for RFC 3695: Allow boolean literals as cfg predicates](https://github.com/rust-lang/rust/issues/131204)
|
||
- [Testing steps](https://github.com/rust-lang/rust/issues/131204#issuecomment-2569314526)
|
||
|
||
### [Rustup](https://github.com/rust-lang/rustup/labels/call-for-testing)
|
||
* *No calls for testing were issued this week.*
|
||
|
||
If you are a feature implementer and would like your RFC to appear on the above list, add the new `call-for-testing`
|
||
label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature
|
||
need testing.
|
||
|
||
### [RFCs](https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing)
|
||
|
||
### [Rust](https://github.com/rust-lang/rust/labels/call-for-testing)
|
||
|
||
### [Rustup](https://github.com/rust-lang/rustup/labels/call-for-testing)
|
||
|
||
If you are a feature implementer and would like your RFC to appear on the above list, add the new `call-for-testing`
|
||
label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature
|
||
need testing.
|
||
|
||
## Call for Participation; projects and speakers
|
||
|
||
### CFP - Projects
|
||
|
||
Always wanted to contribute to open-source projects but did not know where to start?
|
||
Every week we highlight some tasks from the Rust community for you to pick and get started!
|
||
|
||
Some of these tasks may also have mentors available, visit the task page for more information.
|
||
|
||
<!-- CFPs go here, use this format: * [project name - title of issue](URL to issue) -->
|
||
<!-- * [ - ]() -->
|
||
<!-- or if none - *No Calls for participation were submitted this week.* -->
|
||
|
||
* [rama - see if improvements can/have-to be made to rama's http open telemetry layer support](https://github.com/plabayo/rama/issues/383)
|
||
* [rama – add rama to TechEmpower's FrameworkBenchmark](https://github.com/plabayo/rama/issues/389)
|
||
* [rama – add rama server benchmark to sharkbench](https://github.com/plabayo/rama/issues/390)
|
||
|
||
If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines] or through a [PR to TWiR](https://github.com/rust-lang/this-week-in-rust) or by reaching out on [X (formerly Twitter)](https://x.com/ThisWeekInRust) or [Mastodon](https://mastodon.social/@thisweekinrust)!
|
||
|
||
[guidelines]:https://github.com/rust-lang/this-week-in-rust?tab=readme-ov-file#call-for-participation-guidelines
|
||
|
||
### CFP - Events
|
||
|
||
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
|
||
|
||
<!-- CFPs go here, use this format: * [**event name**](URL to CFP)| Date CFP closes in YYYY-MM-DD | city,state,country | Date of event in YYYY-MM-DD -->
|
||
<!-- or if none - *No Calls for papers or presentations were submitted this week.* -->
|
||
|
||
* [**Rust Week (Rust NL)**](https://www.papercall.io/rust-week) | Closes on 2025-01-19 | Utrecht, NL | Event on 2025-05-13 & 2025-05-14
|
||
* [**Rust Summit**](https://docs.google.com/forms/d/e/1FAIpQLSf_O5ISyLQm_DL5_pEcMkc6AWMp7t4YufO-7kwUQTGQ5MW4dw/viewform) | Rolling deadline | Belgrade, RS | Event on 2025-06-07
|
||
|
||
If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a [PR to TWiR](https://github.com/rust-lang/this-week-in-rust) or by reaching out on [X (formerly Twitter)](https://x.com/ThisWeekInRust) or [Mastodon](https://mastodon.social/@thisweekinrust)!
|
||
|
||
## Updates from the Rust Project
|
||
|
||
469 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-07..2025-01-14
|
||
|
||
* [add new `{x86_64,i686}-win7-windows-gnu` targets](https://github.com/rust-lang/rust/pull/134609)
|
||
* [arm: add unstable soft-float target feature](https://github.com/rust-lang/rust/pull/135203)
|
||
* [`-Zrandomize-layout` harder. `Foo<T> != Foo<U>`](https://github.com/rust-lang/rust/pull/133088)
|
||
* [`best_blame_constraint`: Blame better constraints when the region graph has cycles from invariance or `'static`](https://github.com/rust-lang/rust/pull/133858)
|
||
* [`mir_transform`: implement `#[rustc_force_inline]`](https://github.com/rust-lang/rust/pull/134082)
|
||
* [`run_make_support`: add `#![warn(unreachable_pub)]`](https://github.com/rust-lang/rust/pull/135411)
|
||
* [account for identity substituted items in symbol mangling](https://github.com/rust-lang/rust/pull/135261)
|
||
* [add `-Zmin-function-alignment`](https://github.com/rust-lang/rust/pull/134030)
|
||
* [add `default_field_values` entry to unstable book](https://github.com/rust-lang/rust/pull/134855)
|
||
* [add a list of symbols for stable standard library crates](https://github.com/rust-lang/rust/pull/135247)
|
||
* [add an `InstSimplify` for repetitive array expressions](https://github.com/rust-lang/rust/pull/135274)
|
||
* [add inherent versions of `MaybeUninit` methods for slices](https://github.com/rust-lang/rust/pull/129259)
|
||
* [add missing provenance APIs on `NonNull`](https://github.com/rust-lang/rust/pull/135242)
|
||
* [assert that `Instance::try_resolve` is only used on body-like things](https://github.com/rust-lang/rust/pull/135426)
|
||
* [avoid ICE: Account for `for<'a>` types when checking for non-structural type in constant as pattern](https://github.com/rust-lang/rust/pull/134776)
|
||
* [avoid replacing the definition of `CURRENT_RUSTC_VERSION`](https://github.com/rust-lang/rust/pull/135173)
|
||
* [cleanup `suggest_binding_for_closure_capture_self` diag in borrowck](https://github.com/rust-lang/rust/pull/135364)
|
||
* [condvar: implement `wait_timeout` for targets without threads](https://github.com/rust-lang/rust/pull/134389)
|
||
* [convert typeck constraints in location-sensitive polonius](https://github.com/rust-lang/rust/pull/134920)
|
||
* [depth limit const eval query](https://github.com/rust-lang/rust/pull/135167)
|
||
* [detect `mut arg: &Ty` meant to be `arg: &mut Ty` and provide structured suggestion](https://github.com/rust-lang/rust/pull/134977)
|
||
* [do not ICE when encountering predicates from other items in method error reporting](https://github.com/rust-lang/rust/pull/135083)
|
||
* [eagerly collect mono items for non-generic closures](https://github.com/rust-lang/rust/pull/135314)
|
||
* [ensure that we don't try to access fields on a non-struct pattern type](https://github.com/rust-lang/rust/pull/135222)
|
||
* [exhaustively handle expressions in patterns](https://github.com/rust-lang/rust/pull/134228)
|
||
* [fix ICE with references to infinite structs in consts](https://github.com/rust-lang/rust/pull/135464)
|
||
* [fix cycle error only occurring with -Zdump-mir](https://github.com/rust-lang/rust/pull/134498)
|
||
* [fix handling of ZST in win64 ABI on windows-msvc targets](https://github.com/rust-lang/rust/pull/135204)
|
||
* [implement `const Destruct` in old solver](https://github.com/rust-lang/rust/pull/134875)
|
||
* [lower Guard Patterns to HIR](https://github.com/rust-lang/rust/pull/134989)
|
||
* [make (unstable API) `UniqueRc` invariant for soundness](https://github.com/rust-lang/rust/pull/135379)
|
||
* [make MIR cleanup for functions with impossible predicates into a real MIR pass](https://github.com/rust-lang/rust/pull/135377)
|
||
* [make `lit_to_mir_constant` and `lit_to_const` infallible](https://github.com/rust-lang/rust/pull/135195)
|
||
* [normalize each signature input/output in `typeck_with_fallback` with its own span](https://github.com/rust-lang/rust/pull/134745)
|
||
* [remove a bunch of diagnostic stashing that doesn't do anything](https://github.com/rust-lang/rust/pull/135378)
|
||
* [remove allocations from case-insensitive comparison to keywords](https://github.com/rust-lang/rust/pull/135371)
|
||
* [remove special-casing for argument patterns in MIR typeck (attempt to fix perf regression of #133858)](https://github.com/rust-lang/rust/pull/135273)
|
||
* [reserve x18 register for aarch64 wrs vxworks target](https://github.com/rust-lang/rust/pull/135184)
|
||
* [rm unnecessary `OpaqueTypeDecl` wrapper](https://github.com/rust-lang/rust/pull/135440)
|
||
* [suggest Replacing Comma with Semicolon in Incorrect Repeat Expressions](https://github.com/rust-lang/rust/pull/128110)
|
||
* [support target specific `optimized-compiler-builtins`](https://github.com/rust-lang/rust/pull/135326)
|
||
* [unify conditional-const error reporting with non-const error reporting](https://github.com/rust-lang/rust/pull/134732)
|
||
* [use a post-monomorphization typing env when mangling components that come from impls](https://github.com/rust-lang/rust/pull/135149)
|
||
* [use llvm.memset.p0i8.* to initialize all same-bytes arrays](https://github.com/rust-lang/rust/pull/135258)
|
||
* [used pthread name functions returning result for FreeBSD and DragonFly](https://github.com/rust-lang/rust/pull/132607)
|
||
* [warn about broken simd not only on structs but also enums and unions when we didn't opt in to it](https://github.com/rust-lang/rust/pull/135219)
|
||
* [implement trait upcasting](https://github.com/rust-lang/chalk/pull/821)
|
||
* [mir-opt: GVN some more transmute cases](https://github.com/rust-lang/rust/pull/133324)
|
||
* [miri: add FreeBSD maintainer; test all of Solarish](https://github.com/rust-lang/miri/pull/4135)
|
||
* [miri: added Android to `epoll` and `eventfd` test targets](https://github.com/rust-lang/miri/pull/4137)
|
||
* [miri: adjust the way we build miri-script in RA, to fix proc-macros](https://github.com/rust-lang/miri/pull/4134)
|
||
* [miri: illumos: added epoll and eventfd](https://github.com/rust-lang/miri/pull/4136)
|
||
* [miri: supported fioclex for ioctl on macos](https://github.com/rust-lang/miri/pull/4133)
|
||
* [miri: switched FreeBSD to `pthread_setname_np`](https://github.com/rust-lang/miri/pull/4132)
|
||
* [miri: use `deref_poiner_as` instead of `deref_pointer`](https://github.com/rust-lang/miri/pull/4138)
|
||
* [`proc_macro`: Use `ToTokens` trait in `quote` macro](https://github.com/rust-lang/rust/pull/134693)
|
||
* [add `#[inline]` to `copy_from_slice`](https://github.com/rust-lang/rust/pull/135384)
|
||
* [impl `String::into_chars`](https://github.com/rust-lang/rust/pull/133057)
|
||
* [initial fs module for uefi](https://github.com/rust-lang/rust/pull/135324)
|
||
* [hashbrown: added Allocator template argument for `rustc_iter`](https://github.com/rust-lang/hashbrown/pull/605)
|
||
* [account for optimization levels other than numbers](https://github.com/rust-lang/compiler-builtins/pull/743)
|
||
* [cargo: schemas: Fix 'metadata' JSON Schema](https://github.com/rust-lang/cargo/pull/15033)
|
||
* [cargo: schemas: Fix the `[lints]` JSON Schema](https://github.com/rust-lang/cargo/pull/15035)
|
||
* [cargo: perf: cargo-package: match certain path prefix with pathspec](https://github.com/rust-lang/cargo/pull/14997)
|
||
* [cargo: fix: emit warnings as warnings when learning rust target info](https://github.com/rust-lang/cargo/pull/15036)
|
||
* [cargo: make `"C"` explicit in `extern "C"`](https://github.com/rust-lang/cargo/pull/15034)
|
||
* [cargo: setup cargo environment for `cargo rustc --print`](https://github.com/rust-lang/cargo/pull/15026)
|
||
* [cargo: simplify SourceID Ord/Eq](https://github.com/rust-lang/cargo/pull/14980)
|
||
* [rustdoc-json: include items in stripped modules in `Crate::paths`](https://github.com/rust-lang/rust/pull/135348)
|
||
* [rustdoc: use import stability marker in display](https://github.com/rust-lang/rust/pull/135352)
|
||
* [rustdoc: use stable paths as preferred canonical paths](https://github.com/rust-lang/rust/pull/135171)
|
||
* [rustfmt: drop nightly-gating of the `--style-edition` flag registration](https://github.com/rust-lang/rust/pull/135200)
|
||
* [clippy: add new lint `unneeded_struct_pattern`](https://github.com/rust-lang/rust-clippy/pull/13465)
|
||
* [clippy: auto-fix `slow_vector_initialization` in some cases](https://github.com/rust-lang/rust-clippy/pull/13947)
|
||
* [clippy: do not intersect spans coming from different contexts](https://github.com/rust-lang/rust-clippy/pull/13942)
|
||
* [clippy: do not look for significant drop inside `.await` expansion](https://github.com/rust-lang/rust-clippy/pull/13985)
|
||
* [clippy: do not propose to elide lifetimes if this causes an ambiguity](https://github.com/rust-lang/rust-clippy/pull/13929)
|
||
* [clippy: do not remove identity mapping if mandatory mutability would be lost](https://github.com/rust-lang/rust-clippy/pull/13905)
|
||
* [clippy: do not trigger `redundant_pub_crate` in external macros](https://github.com/rust-lang/rust-clippy/pull/13952)
|
||
* [clippy: don't emit machine applicable `map_flatten` lint if there are code comments](https://github.com/rust-lang/rust-clippy/pull/13940)
|
||
* [clippy: don't suggest to use `cloned` for `Cow` in `unnecessary_to_owned`](https://github.com/rust-lang/rust-clippy/pull/13853)
|
||
* [clippy: fix type suggestion for `manual_is_ascii_check`](https://github.com/rust-lang/rust-clippy/pull/13916)
|
||
* [clippy: improve `needless_as_bytes` to also detect `str::bytes()`](https://github.com/rust-lang/rust-clippy/pull/13972)
|
||
* [clippy: new lint: `manual_ok_err`](https://github.com/rust-lang/rust-clippy/pull/13740)
|
||
* [clippy: remove unneeded parentheses in `unnecessary_map_or` lint output](https://github.com/rust-lang/rust-clippy/pull/13932)
|
||
* [rust-analyzer: add a new and improved syntax tree view](https://github.com/rust-lang/rust-analyzer/pull/18813)
|
||
* [rust-analyzer: add config setting which allows adding additional include paths to the VFS](https://github.com/rust-lang/rust-analyzer/pull/18880)
|
||
* [rust-analyzer: re-implement rust string highlighting via tool attribute](https://github.com/rust-lang/rust-analyzer/pull/18906)
|
||
* [rust-analyzer: fix JSON project `PackageRoot` buildfile inclusion](https://github.com/rust-lang/rust-analyzer/pull/18866)
|
||
* [rust-analyzer: do not compute `prettify_macro_expansion()` unless the "Inline macro" assist has actually been invoked](https://github.com/rust-lang/rust-analyzer/pull/18900)
|
||
* [rust-analyzer: do not offer completions within macro strings](https://github.com/rust-lang/rust-analyzer/pull/18832)
|
||
* [rust-analyzer: fix `env`/`option_env` macro check disregarding `macro_rules` definitions](https://github.com/rust-lang/rust-analyzer/pull/18884)
|
||
* [rust-analyzer: fix `ref` text edit for binding mode hints](https://github.com/rust-lang/rust-analyzer/pull/18920)
|
||
* [rust-analyzer: fix a bug with missing binding in MBE](https://github.com/rust-lang/rust-analyzer/pull/18877)
|
||
* [rust-analyzer: fix actual token lookup in completion's `expand()`](https://github.com/rust-lang/rust-analyzer/pull/18889)
|
||
* [rust-analyzer: fix another issue with fixup reversing](https://github.com/rust-lang/rust-analyzer/pull/18899)
|
||
* [rust-analyzer: fix diagnostics not clearing between flychecks](https://github.com/rust-lang/rust-analyzer/pull/18864)
|
||
* [rust-analyzer: make edition per-token, not per-file](https://github.com/rust-lang/rust-analyzer/pull/18861)
|
||
* [rust-analyzer: implement `#[rust_analyzer::skip]` for bodies](https://github.com/rust-lang/rust-analyzer/pull/18907)
|
||
* [rust-analyzer: implement implicit sized bound inlay hints](https://github.com/rust-lang/rust-analyzer/pull/18903)
|
||
* [rust-analyzer: improve hover module path rendering](https://github.com/rust-lang/rust-analyzer/pull/18904)
|
||
|
||
### Rust Compiler Performance Triage
|
||
|
||
A quiet week with little change to the actual compiler performance. The biggest compiler regression was quickly recognized and reverted.
|
||
|
||
Triage done by **@rylev**.
|
||
Revision range: [0f1e965f..1ab85fbd](https://perf.rust-lang.org/?start=0f1e965fec3bc2f97b932e9dd8e85fca6d7faadc&end=1ab85fbd7474e8ce84d5283548f21472860de3e2&absolute=false&stat=instructions%3Au)
|
||
|
||
**Summary**:
|
||
|
||
| (instructions:u) | mean | range | count |
|
||
|:----------------------------------:|:------:|:---------------:|:-----:|
|
||
| Regressions ❌ <br /> (primary) | 0.4% | [0.1%, 1.8%] | 21 |
|
||
| Regressions ❌ <br /> (secondary) | 0.5% | [0.0%, 2.0%] | 35 |
|
||
| Improvements ✅ <br /> (primary) | -0.8% | [-2.7%, -0.3%] | 6 |
|
||
| Improvements ✅ <br /> (secondary) | -10.2% | [-27.8%, -0.1%] | 13 |
|
||
| All ❌✅ (primary) | 0.2% | [-2.7%, 1.8%] | 27 |
|
||
|
||
|
||
4 Regressions, 3 Improvements, 3 Mixed; 3 of them in rollups
|
||
44 artifact comparisons made in total
|
||
|
||
[Full report here](https://github.com/rust-lang/rustc-perf/blob/194b9b1c83f638475d35b5bc27c9617ec3725941/triage/2025-01-14.md)
|
||
|
||
### [Approved RFCs](https://github.com/rust-lang/rfcs/commits/master)
|
||
|
||
Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These
|
||
are the RFCs that were approved for implementation this week:
|
||
|
||
* *No RFCs were approved this week.*
|
||
|
||
### Final Comment Period
|
||
|
||
Every week, [the team](https://www.rust-lang.org/team.html) announces the 'final comment period' for RFCs and key PRs
|
||
which are reaching a decision. Express your opinions now.
|
||
|
||
#### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period)
|
||
* [Supertrait item shadowing v2](https://github.com/rust-lang/rfcs/pull/3624)
|
||
|
||
#### Tracking Issues & PRs
|
||
##### [Rust](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
|
||
* [remove support for the (unstable) #[start] attribute](https://github.com/rust-lang/rust/pull/134299)
|
||
* [fully de-stabilize all custom inner attributes](https://github.com/rust-lang/rust/pull/134276)
|
||
* [Uplift `clippy::double_neg` lint as `double_negations`](https://github.com/rust-lang/rust/pull/126604)
|
||
* [Optimize `Seek::stream`_len impl for File](https://github.com/rust-lang/rust/pull/125087)
|
||
* [[rustdoc] Add sans-serif font setting](https://github.com/rust-lang/rust/pull/133636)
|
||
* [Tracking Issue for PathBuf::add_extension and Path::with_added_extension](https://github.com/rust-lang/rust/issues/127292)
|
||
* [Make the wasm_c_abi future compat warning a hard error](https://github.com/rust-lang/rust/pull/133951)
|
||
* [const-eval: detect more pointers as definitely not-null](https://github.com/rust-lang/rust/pull/133700)
|
||
* [Consider fields to be inhabited if they are unstable](https://github.com/rust-lang/rust/pull/133889)
|
||
* [disallow repr() on invalid items](https://github.com/rust-lang/rust/pull/133925)
|
||
|
||
##### [Cargo](https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
|
||
* *No Cargo Tracking Issues or PRs entered Final Comment Period this week.*
|
||
|
||
##### [Language Team](https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+)
|
||
* *No Language Team Proposals entered Final Comment Period this week.*
|
||
|
||
##### [Language Reference](https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
|
||
* [distinct 'static' items never overlap](https://github.com/rust-lang/reference/pull/1657)
|
||
|
||
##### [Unsafe Code Guidelines](https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
|
||
* *No Unsafe Code Guideline Tracking Issues or PRs entered Final Comment Period this week.*
|
||
|
||
#### [New and Updated RFCs](https://github.com/rust-lang/rfcs/pulls)
|
||
* [Make trait methods callable in const contexts](https://github.com/rust-lang/rfcs/pull/3762)
|
||
* [RFC: Allow packages to specify a set of supported targets](https://github.com/rust-lang/rfcs/pull/3759)
|
||
|
||
## Upcoming Events
|
||
|
||
Rusty Events between 2025-01-15 - 2025-02-12 🦀
|
||
|
||
### Virtual
|
||
* 2025-01-15 | Virtual (London, UK) | [London Rust Project Group](https://www.meetup.com/london-rust-project-group/)
|
||
* [**Meet and greet with project allocations**](https://www.meetup.com/london-rust-project-group/events/305211634/)
|
||
* 2025-01-15 | Virtual (Tel Aviv-Yafo, IL) | [Code Mavens 🦀 - 🐍 - 🐪](https://www.meetup.com/code-mavens/events/)
|
||
* [**An introduction to WASM in Rust with Márk Tolmács (Virtual, English)**](https://www.meetup.com/code-mavens/events/305064546)
|
||
* 2025-01-15 | Virtual (Vancouver, BC, CA) | [Vancouver Rust](https://www.meetup.com/vancouver-rust/events/)
|
||
* [**Leptos**](https://www.meetup.com/vancouver-rust/events/304051782)
|
||
* 2025-01-16 | Virtual (Berlin, DE) | [OpenTechSchool Berlin](https://berline.rs/) + [Rust Berlin](https://www.meetup.com/rust-berlin/)
|
||
* [**Rust Hack and Learn**](https://berline.rs/2024/12/19/rust-hack-and-learn.html) | [**Mirror: Rust Hack n Learn Meetup**](https://www.meetup.com/rust-berlin/events/298633278/)
|
||
* 2025-01-16 | Virtual (San Diego, CA, US) | [San Diego Rust](https://www.meetup.com/san-diego-rust/events/)
|
||
* [**San Diego Rust January 2025 Tele-Meetup**](https://www.meetup.com/san-diego-rust/events/305613752)
|
||
* 2025-01-16 | Virtual and In-Person (Redmond, WA, US) | [Seattle Rust User Group](https://www.meetup.com/join-srug/events)
|
||
* [**January Meetup**](https://www.meetup.com/join-srug/events/305505409/)
|
||
* 2025-01-17 | Virtual (Jersey City, NJ, US) | [Jersey City Classy and Curious Coders Club Cooperative](https://www.meetup.com/jersey-city-classy-curious-coders-club-cooperative/)
|
||
* [**Rust Coding / Game Dev Fridays Open Mob Session!**](https://www.meetup.com/jersey-city-classy-curious-coders-club-cooperative/events/305207687/)
|
||
* 2025-01-21 | Virtual (London, UK) | [Women in Rust](https://www.meetup.com/women-in-rust/)
|
||
* [**👋 Community Catch Up**](https://www.meetup.com/women-in-rust/events/305646783/)
|
||
* 2025-01-21 | Virtual (Tel Aviv-Yafo, IL) | [Rust 🦀 TLV](https://www.meetup.com/rust-tlv/events/)
|
||
* [**Exploring Rust Enums with Yoni Peleg (Virtual, Hebrew)**](https://www.meetup.com/rust-tlv/events/305110744)
|
||
* 2025-01-21 | Virtual (Washington, DC, US) | [Rust DC](https://www.meetup.com/rustdc/events/)
|
||
* [**Mid-month Rustful**](https://www.meetup.com/rustdc/events/rdhhptyhccbcc)
|
||
* 2025-01-22 | Virtual (Rotterdam, NL) | [Bevy Game Development](https://www.meetup.com/bevy-game-development/events/)
|
||
* [**Bevy Meetup #8**](https://www.meetup.com/bevy-game-development/events/305111151)
|
||
* 2025-01-23 & 2025-01-24 | Virtual | [Mainmatter Rust Workshop](https://ti.to/mainmatter/)
|
||
* [**Remote Workshop: Testing for Rust projects – going beyond the basics**](https://ti.to/mainmatter/rust-testing-jan-2025)
|
||
* 2025-01-24 | Virtual (Jersey City, NJ, US) | [Jersey City Classy and Curious Coders Club Cooperative](https://www.meetup.com/jersey-city-classy-curious-coders-club-cooperative/)
|
||
* [**Rust Coding / Game Dev Fridays Open Mob Session!**](https://www.meetup.com/jersey-city-classy-curious-coders-club-cooperative/events/305425309/)
|
||
* 2025-01-26 | Virtual (Tel Aviv-Yafo, IL) | [Rust 🦀 TLV](https://www.meetup.com/rust-tlv/events/)
|
||
* [**Rust and embedded programming with Leon Vak (online in Hebrew)**](https://www.meetup.com/rust-tlv/events/304971264)
|
||
* 2025-01-27 | Virtual (London, UK) | [London Rust Project Group](https://www.meetup.com/london-rust-project-group/)
|
||
* [**using traits in Rust for flexibility, mocking/ unit testing, and more**](https://www.meetup.com/london-rust-project-group/events/305211672/)
|
||
* 2025-01-28 | Virtual (Dallas, TX, US) | [Dallas Rust User Meetup](https://www.meetup.com/dallasrust/events/)
|
||
* [**Last Tuesday**](https://www.meetup.com/dallasrust/events/305361243)
|
||
* 2025-01-30 | Virtual (Berlin, DE) | [OpenTechSchool Berlin](https://berline.rs/) + [Rust Berlin](https://www.meetup.com/rust-berlin/)
|
||
* [**Rust Hack and Learn**](https://berline.rs/2024/12/19/rust-hack-and-learn.html) | [**Mirror: Rust Hack n Learn Meetup**](https://www.meetup.com/rust-berlin/events/299468340)
|
||
* 2025-01-30 | Virtual (Charlottesville, VA, US) | [Charlottesville Rust Meetup](https://www.meetup.com/charlottesville-rust-meetup/events/)
|
||
* [**Quantum Computers Can’t Rust-Proof This!**](https://www.meetup.com/charlottesville-rust-meetup/events/305391474)
|
||
* 2025-01-30 | Virtual (Tel Aviv-Yafo, IL) | [Code Mavens 🦀 - 🐍 - 🐪](https://www.meetup.com/code-mavens/events/)
|
||
* [**Are We Embedded Yet? - Implementing tiny HTTP server on a microcontroller**](https://www.meetup.com/code-mavens/events/305382647)
|
||
* 2025-01-31 | Virtual (Delhi, IN) | [Hackathon Raptors Association](https://www.meetup.com/hackathon-raptors-association/)
|
||
* [**Blazingly Fast Rust Hackathon**](https://www.meetup.com/hackathon-raptors-association/events/305435372/)
|
||
* 2025-01-31 | Virtual (Jersey City, NJ, US) | [Jersey City Classy and Curious Coders Club Cooperative](https://www.meetup.com/jersey-city-classy-curious-coders-club-cooperative/)
|
||
* [**Rust Coding / Game Dev Fridays Open Mob Session!**](https://www.meetup.com/jersey-city-classy-curious-coders-club-cooperative/events/305560416/)
|
||
* 2025-02-01 | Virtual (Kampala, UG) | [Rust Circle Kampala](https://www.eventbrite.com/o/rust-circle-kampala-65249289033/)
|
||
* [**Rust Circle Meetup**](https://www.eventbrite.com/e/rust-circle-meetup-tickets-628763176587)
|
||
* 2025-02-04 | Virtual (Buffalo, NY, US) | [Buffalo Rust Meetup](https://www.meetup.com/buffalo-rust-meetup/events/)
|
||
* [**Buffalo Rust User Group**](https://www.meetup.com/buffalo-rust-meetup/events/305304216)
|
||
* 2025-02-04 | Virtual (London, UK) | [Women in Rust](https://www.meetup.com/women-in-rust/)
|
||
* [**Lunch & Learn: Rust Nation UK Talks**](https://www.meetup.com/women-in-rust/events/305647334/)
|
||
* 2025-02-05 | Virtual (Indianapolis, IN, US) | [Indy Rust](https://www.meetup.com/indyrs/events/)
|
||
* [**Indy.rs - with Social Distancing**](https://www.meetup.com/indyrs/events/302031658)
|
||
* 2025-02-07 | Virtual (Jersey City, NJ, US) | [Jersey City Classy and Curious Coders Club Cooperative](https://www.meetup.com/jersey-city-classy-curious-coders-club-cooperative/)
|
||
* [**Rust Coding / Game Dev Fridays Open Mob Session!**](https://www.meetup.com/jersey-city-classy-curious-coders-club-cooperative/events/gvxrntyhcdbkb/)
|
||
* 2025-02-11 | Virtual (Dallas, TX, US) | [Dallas Rust User Meetup](https://www.meetup.com/dallasrust/events/)
|
||
* [**Second Tuesday**](https://www.meetup.com/dallasrust/events/302815036)
|
||
* 2025-02-11 | Virtual (Tel Aviv-Yafo, IL) | [Code Mavens 🦀 - 🐍 - 🐪](https://www.meetup.com/code-mavens/events/)
|
||
* [**Meet Elusion: New DataFrame Library powered by Rust 🦀 with Borivoj Grujicic**](https://www.meetup.com/code-mavens/events/305513416)
|
||
|
||
### Europe
|
||
* 2025-01-16 | Amsterdam, NL | [Rust Developers Amsterdam Group](https://www.meetup.com/rust-amsterdam-group/events/)
|
||
* [**Meetup @ Avalor AI**](https://www.meetup.com/rust-amsterdam-group/events/305339712)
|
||
* 2025-01-16 | Karlsruhe, DE | [Rust Hack & Learn Karlsruhe](https://www.meetup.com/rust-hack-learn-karlsruhe/events/)
|
||
* [**Karlsruhe Rust Hack and Learn Meetup bei BlueYonder**](https://www.meetup.com/rust-hack-learn-karlsruhe/events/305144321)
|
||
* 2025-01-18 | Stockholm, SE | [Stockholm Rust](https://www.meetup.com/stockholm-rust/events/)
|
||
* [**Ferris' Fika Forum #8**](https://www.meetup.com/stockholm-rust/events/305475761)
|
||
* 2025-01-21 | Edinburgh, GB | [Rust and Friends](https://www.meetup.com/rust-edi/events/)
|
||
* [**Rust and Friends (evening pub)**](https://www.meetup.com/rust-and-friends/events/304110936)
|
||
* 2025-01-21 | Ghent, BE | [Systems Programming Ghent](https://sysghent.be)
|
||
* [**Tech Talks & Dinner: Insights on Systems Programming Side Projects (in Rust) - Leptos (full-stack Rust with webassembly), Karyon (distributed p2p software in Rust), FunDSP (audio synthesis in Rust)**](https://www.meetup.com/systems-programming-ghent/events/305201540/?slug=systems-programming-ghent&eventId=305201540)
|
||
* 2025-01-21 | Leipzig, SN, DE | [Rust - Modern Systems Programming in Leipzig](https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/)
|
||
* [**Self-Organized Peer-to-Peer Networks using Rust**](https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/303604074)
|
||
* 2025-01-22 | London, GB | [Rust London User Group](https://www.meetup.com/rust-london-user-group/events/)
|
||
* [**Rust London's New Years Party & Community Swag Drop**](https://www.meetup.com/rust-london-user-group/events/305588703)
|
||
* 2025-01-22 | Oberursel, DE | [Rust Rhein Main](https://www.meetup.com/rust-rhein-main)
|
||
* [**Rust 2024 Edition and Beyond**](https://www.meetup.com/rust-rhein-main/events/305330873)
|
||
* 2025-01-23 | Barcelona, ES | [Barcelona Free Software](https://www.meetup.com/barcelona-free-software/events/)
|
||
* [**Why Build a New Browser Engine in Rust?**](https://www.meetup.com/barcelona-free-software/events/305179554)
|
||
* 2025-01-23 | Paris, FR | [Rust Paris](https://www.meetup.com/rust-paris/events/)
|
||
* [**Rust meetup #74**](https://www.meetup.com/rust-paris/events/305455221)
|
||
* 2025-01-24 | Edinburgh, GB | [Rust and Friends](https://www.meetup.com/rust-edi/events/)
|
||
* [**Rust and Friends (daytime coffee)**](https://www.meetup.com/rust-and-friends/events/305204279)
|
||
* 2025-01-27 | Prague, CZ | [Rust Prague](https://www.meetup.com/rust-prague/events/)
|
||
* [**Rust Meetup Prague (January 2025)**](https://www.meetup.com/rust-prague/events/305455153)
|
||
* 2025-01-28 | Aarhus, DK | [Rust Aarhus](https://www.meetup.com/rust-aarhus/events/)
|
||
* [**Hack Night - Advent of Code**](https://www.meetup.com/rust-aarhus/events/304487851)
|
||
* 2025-01-28 | Manchester, GB | [Rust Manchester](https://www.meetup.com/rust-manchester/events/)
|
||
* [**Rust Manchester January Code Night**](https://www.meetup.com/rust-manchester/events/305496243)
|
||
* 2025-01-30 | Augsburg, DE | [Rust Meetup Augsburg](https://rust-augsburg.github.io/meetup)
|
||
* [**Rust Meetup #11: Hypermedia-driven development in Rust**](https://rust-augsburg.github.io/meetup/Meetup_11.html)
|
||
* 2025-01-30 | Berlin, DE | [Rust Berlin](https://www.meetup.com/rust-berlin/events/)
|
||
* [**Rust and Tell - Title**](https://www.meetup.com/rust-berlin/events/299421383)
|
||
* 2025-02-01 | Brussels, BE | [FOSDEM 2025](https://fosdem.org/2025/)
|
||
* [**FOSDEM Rust Devroom**](https://fosdem.org/2025/schedule/track/rust/)
|
||
* 2025-02-01 | Nürnberg, DE | [Rust Nuremberg](https://www.meetup.com/rust-noris/events/)
|
||
* [**Technikmuseum Sinsheim**](https://www.meetup.com/rust-noris/events/305361544)
|
||
* 2025-02-05 | Oxford, GB | [Oxford Rust Meetup Group](https://www.meetup.com/oxford-rust-meetup-group/events/)
|
||
* [**Oxford Rust and C++ social**](https://www.meetup.com/oxford-rust-meetup-group/events/303123401)
|
||
* 2025-02-12 | Reading, GB | [Reading Rust Workshop](https://www.meetup.com/reading-rust-workshop/events/)
|
||
* [**Reading Rust Meetup**](https://www.meetup.com/reading-rust-workshop/events/305045444)
|
||
|
||
### North America
|
||
* 2025-01-16 | Nashville, TN, US | [Music City Rust Developers](https://www.meetup.com/music-city-rust-developers/events/)
|
||
* [**Rust Game Development Series 1: Community Introductions**](https://www.meetup.com/music-city-rust-developers/events/304333017)
|
||
* 2025-01-16 | Redmond, WA, US | [Seattle Rust User Group](https://www.meetup.com/join-srug/events)
|
||
* [**January Meetup**](https://www.meetup.com/join-srug/events/305505409/)
|
||
* 2025-01-16 | Spokane, WA, US | [Spokane Rust](https://www.meetup.com/spokane-rust/events/)
|
||
* [**Spokane Rust Monthly Meetup: Traits and Generics**](https://www.meetup.com/spokane-rust/events/305501106)
|
||
* 2025-01-17 | México City, MX | [Rust MX](https://www.meetup.com/rust-mx/events/)
|
||
* [**Multithreading y Async en Rust 101 - HolaMundo - Parte 3**](https://www.meetup.com/rust-mx/events/305464827)
|
||
* 2025-01-18 | Boston, MA, US | [Boston Rust Meetup](https://www.meetup.com/boston-rust-meetup-25317522anphwzdw/events/)
|
||
* [**Back Bay Rust Lunch, Jan 18**](https://www.meetup.com/bostonrust/events/304951470)
|
||
* 2025-01-21 | New York, NY, US | [Rust NYC](https://www.meetup.com/rust-nyc/events/)
|
||
* [**Rust NYC Monthly Meetup**](https://www.meetup.com/rust-nyc/events/305600833)
|
||
* 2025-01-21 | San Francisco, CA, US | [San Francisco Rust Study Group](https://www.meetup.com/san-francisco-rust-study-group/events/)
|
||
* [**Rust Hacking in Person**](https://www.meetup.com/san-francisco-rust-study-group/events/302638258)
|
||
* 2025-01-22 | Austin, TX, US | [Rust ATX](https://www.meetup.com/rust-atx/events/)
|
||
* [**Rust Lunch - Fareground**](https://www.meetup.com/rust-atx/events/305325657)
|
||
* 2025-01-23 | Mountain View, CA, US | [Hacker Dojo](https://www.meetup.com/hackerdojo/events/)
|
||
* [**RUST MEETUP at HACKER DOJO**](https://www.meetup.com/hackerdojo/events/305414182) | [**Rust Meetup at Hacker Dojo - Mountain View Rust Meetup Page**](https://www.meetup.com/mv-rust-meetup/events/305564600)
|
||
* 2025-01-28 | Boulder, CO, US | [Boulder Rust Meetup](https://www.meetup.com/boulder-rust-meetup/events/)
|
||
* [**From Basics to Advanced: Testing**](https://www.meetup.com/boulder-rust-meetup/events/305597961)
|
||
* 2025-02-06 | Saint Louis, MO, US | [STL Rust](https://www.meetup.com/stl-rust/events/)
|
||
* [**Async, the Future of Futures**](https://www.meetup.com/stl-rust/events/304959018)
|
||
|
||
### Oceania:
|
||
* 2025-02-04 | Auckland, NZ | [Rust AKL](https://www.meetup.com/rust-akl/events/)
|
||
* [**Rust AKL: How We Learn Rust**](https://www.meetup.com/rust-akl/events/305583693)
|
||
|
||
If you are running a Rust event please add it to the [calendar] to get
|
||
it mentioned here. Please remember to add a link to the event too.
|
||
Email the [Rust Community Team][community] for access.
|
||
|
||
[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com
|
||
[community]: mailto:community-team@rust-lang.org
|
||
|
||
## Jobs
|
||
<!--
|
||
|
||
Rust Jobs:
|
||
|
||
TWiR has stopped featuring individual job postings. You can read more about this change here:
|
||
|
||
https://github.com/rust-lang/this-week-in-rust/issues/3412
|
||
|
||
-->
|
||
|
||
Please see the latest [Who's Hiring thread on r/rust](https://www.reddit.com/r/rust/comments/1hynsw7/official_rrust_whos_hiring_thread_for_jobseekers/)
|
||
|
||
# Quote of the Week
|
||
|
||
> This is a wonderful unsoundness and I am incredibly excited about it :3
|
||
|
||
– [lcnr on github](https://github.com/rust-lang/rust/issues/135011#issuecomment-2573248261)
|
||
|
||
Thanks to [Christoph Grenz](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1650) for the suggestion!
|
||
|
||
[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)
|
||
|
||
*This Week in Rust is edited by: [nellshamrell](https://github.com/nellshamrell), [llogiq](https://github.com/llogiq), [cdmistman](https://github.com/cdmistman), [ericseppanen](https://github.com/ericseppanen), [extrawurst](https://github.com/extrawurst), [U007D](https://github.com/U007D), [joelmarcey](https://github.com/joelmarcey), [mariannegoldin](https://github.com/mariannegoldin), [bennyvasquez](https://github.com/bennyvasquez), [bdillo](https://github.com/bdillo)*
|
||
|
||
*Email list hosting is sponsored by [The Rust Foundation](https://foundation.rust-lang.org/)*
|
||
|
||
<small>[Discuss on r/rust](https://www.reddit.com/r/rust/comments/1i2e9mn/this_week_in_rust_582/)</small>
|