Skip to content

merge __pinned_init and __init - #166

Open
nbdd0121 wants to merge 4 commits into
mainfrom
dev/merge-init
Open

merge __pinned_init and __init#166
nbdd0121 wants to merge 4 commits into
mainfrom
dev/merge-init

Conversation

@nbdd0121

Copy link
Copy Markdown
Member

nbdd0121 added 4 commits July 30, 2026 12:16
`UnsafeCell` gains the method via the extension trait `Wrapper`.

Signed-off-by: Gary Guo <gary@garyguo.net>
These functions have the same requirements and are also required to execute
the same code. Prevent duplication by merging them to the single function
and document the additional relaxation of `Init::__init` on both the merged
function and the safety requirement of `Init`.

The existing `__pinned_init` function is deprecated and kept for
compatibility for existing users. For `cfg(kernel)`, it is soft-deprecated
for now and will be removed when all users are migrated.

Signed-off-by: Gary Guo <gary@garyguo.net>
The `__init` method is not designed to be a public API (existence of "__"
is a hint for this); but currently there is no other API that allows raw
initialization on pointers. Add `ptr_init` and `ptr_try_init` and recommend
people to use this instead if raw pointer initialization is needed.

Signed-off-by: Gary Guo <gary@garyguo.net>
Remove `__pinned_init` for kernel configuration, with all users gone.
Still perserve it temporarily as deprecated so other users have time to
move off it.

Signed-off-by: Gary Guo <gary@garyguo.net>
@nbdd0121
nbdd0121 requested a review from BennoLossin July 30, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant