Meta tracking Issue for in-place initialization
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
This issue tracks the progress of in-place initialization in general.
This issue is not for discussion about specific proposals for in-place initialization. It's role is to track the overall progress and act as a link hub to currently ongoing and finished efforts. If you wish to discuss some subject related to in-place initialization, please find an existing appropriate issue below, create an new issue, or ask on zulip in the in-place init channel. (If a document, important discussion, issue etc, are missing or any of the links are dead, point at the wrong thing, or have a bad description text, ping me/the stream on zulip)
In-place initialization is a lang experiment (accepted in https://github.com/rust-lang/lang-team/issues/336) about creating a language feature enabling the construction of Rust types in-place.
Feature Tracking Issues
Link Hub
- Beyond Refs Wiki - In-place initialization | Dec 2025-Now
- Design axioms & wanted features
- Phased initialization of locals https://github.com/rust-lang/rust/issues/153699
- Proposal: Init expressions
MovereplacingPin[Init]- Init fn | Feb 2026 with zulip discussion
- Zulip - changing
Box::new| Dec 2025 - Zulip - compatibility with
Try; be generic overOption,Resultand no error | Oct 2025 - Zulip - async init | June 2025
- init expressions | June 2025 with zulip discussion
- Language feature: in-place construction | Oct 2022
- pin-init crate | April 2022-Now
- Proposal: Out pointers
- Raw pointers are too lax for in-place (re-)init tasks | Mar 2026 with zulip discussion
- Out ptr but less verbose, take two | Feb 2026 with zulip discussion
- Zulip - initializing a box with
&uninit| Feb 2026 - [Zulip - outptrs | Feb 2026]
- Zulip - automatic notarization | Jan 2026 resulted in https://github.com/rust-lang/beyond-refs/pull/25 and a beyond-refs wiki entry on
&uninitthat was improved in Zulip - outptrs are exactly the right amoutn of verbose | Feb 2026 - Zulip - what about
?Sized| Nov 2025 - Zulip - Do we need
<-| Nov 2025 - Notarization v2 | Nov 2025 with zulip discussion
- Desugaring to init expressions | Sep 2025
- Notarization of init proofs | Sep 2025 with zulip discussion
- In-place initialization via outptrs | July 2025 with zulip discussion
- Zulip -
&out| June 2025
- Proposal: Guaranteed return value optimization
- High level view: placing functions
- Design Meeting | July 2025
- Problem: integrating with other effects
- Problem: Async
- Problem: Code-ordering
- Problem:
dyncompatibility of the proposals - Problem: pinning
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked Rust feature-tracking issue #153699 and the proposal links collected in this issue, especially the in-place initialization design material. Done means coordinating or recording the progress of the broader language feature and keeping this link hub accurate; no source file or test is identified here.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100