

Move all `#`, internal types into the new `_internal` Move the `init::common::ffi_init` functions to `Opaque::ffi_init`. Use `PinnedDrop` in the `RawFoo` code example. Split the big original commit into six smaller commits. Will be used by the Android Binder driver. #13 adds functions for initializing already allocated `UniqueArc`s, this Stack and then moved it into the location in the heap. The old version first allocated uninitialized memory on the #12 improves the `UniqueArc::try_new_uninit` function by using the

Rust wrappers and will be used by Wedson's `sync` module patches. #11 adds functions for easier initialization of `Opaque` viaįFI and raw pointer initializer functions. #10 adds important traits and macros from pin-init to the prelude. A first step in this direction is the Field It is a goal to at some point have pin-init as a An example of theīefore/after difference from the point of view of users is provided in Key goal of the Rust support in the kernel. Provide a safe API for users - reducing the amount of `unsafe` code is a Implementation details are fairly complex however, this is required to Problem it solves and lays out the overall architecture. #3 adds `Opaque::raw_get` to access the value inside of an `Opaque` from `UniqueArc::write` is modified to use this new function. Unsafely assumes the pointee to be initialized and returns a #2 adds the `assume_init` function to `UniqueArc>` that It is used by the pin-init API proc-macros. The typed characters directly into Rust tokens that are the output of #1 adds a utility macro `quote!` for proc-macros.


These patches are a long way coming, since I held a presentation on The Rust-doc documentation of the pin-init API can be found at. The tree at contains these patches applied on top of 6.3-rc1. This version changes v2 a lot, see the changelog below. This is the third version of the pin-init API. Rust pin-init API for pinned initialization of structs - y86-dev archive mirror help / color / mirror / Atom feed From: "Miguel Ojeda" ,Ĭc: Rust pin-init API for pinned initialization of structsĭate: Wed, 22:32:48 +0000
