OpenCloudOS-Kernel/rust/kernel
Asahi Lina 3c01a424a3 rust: Enable the new_uninit feature for kernel and driver crates
The unstable new_uninit feature enables various library APIs to create
uninitialized containers, such as `Box::assume_init()`. This is
necessary to build abstractions that directly initialize memory at the
target location, instead of doing copies through the stack.

Will be used by the DRM scheduler abstraction in the kernel crate, and
by field-wise initialization (e.g. using `place!()` or a future
replacement macro which may itself live in `kernel`) in driver crates.

Link: https://github.com/Rust-for-Linux/linux/issues/879
Link: https://github.com/Rust-for-Linux/linux/issues/2
Link: https://github.com/rust-lang/rust/issues/63291
Signed-off-by: Asahi Lina <lina@asahilina.net>
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Reviewed-by: Andreas Hindborg <a.hindborg@samsung.com>
Reviewed-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Link: https://lore.kernel.org/r/20230224-rust-new_uninit-v1-1-c951443d9e26@asahilina.net
[ Reworded to use `Link` tags. ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2023-04-10 05:21:15 +02:00
..
sync rust: sync: impl {Debug,Display} for {Unique,}Arc 2023-04-10 05:05:39 +02:00
allocator.rs rust: add `kernel` crate 2022-09-28 08:58:24 +02:00
build_assert.rs rust: build_assert: add `build_{error,assert}!` macros 2022-12-04 01:59:16 +01:00
error.rs rust: error: add `From` implementations for `Error` 2022-12-04 01:59:15 +01:00
lib.rs rust: Enable the new_uninit feature for kernel and driver crates 2023-04-10 05:21:15 +02:00
prelude.rs rust: prelude: prevent doc inline of external imports 2023-01-16 23:49:46 +01:00
print.rs rust: print: avoid evaluating arguments in `pr_*` macros in `unsafe` blocks 2023-01-16 00:54:35 +01:00
static_assert.rs rust: static_assert: add `static_assert!` macro 2022-12-04 01:59:16 +01:00
std_vendor.rs rust: std_vendor: add `dbg!` macro based on `std`'s one 2022-12-04 01:59:16 +01:00
str.rs rust: str: add `fmt!` macro 2022-12-04 01:59:16 +01:00
sync.rs rust: sync: introduce `UniqueArc` 2023-01-16 23:48:06 +01:00
types.rs rust: types: implement `ForeignOwnable` for the unit type 2023-02-01 13:24:36 +01:00