linux/rust/kernel
Benno Lossin 35e7fca2ff rust: init: add ..Zeroable::zeroed() syntax for zeroing all missing fields
Add the struct update syntax to the init macros, but only for
`..Zeroable::zeroed()`. Adding this at the end of the struct initializer
allows one to omit fields from the initializer, these fields will be
initialized with 0x00 set to every byte. Only types that implement the
`Zeroable` trait can utilize this.

Suggested-by: Asahi Lina <lina@asahilina.net>
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Signed-off-by: Benno Lossin <benno.lossin@proton.me>
Link: https://lore.kernel.org/r/20230814084602.25699-8-benno.lossin@proton.me
[ Rebased on `rust-next` and cleaned a few trivial nits. ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2023-08-21 14:31:48 +02:00
..
init rust: init: add ..Zeroable::zeroed() syntax for zeroing all missing fields 2023-08-21 14:31:48 +02:00
sync rust: lock: Add intra-doc links to the Backend trait 2023-08-07 11:33:33 +02:00
allocator.rs rust: upgrade to Rust 1.71.1 2023-08-14 17:50:02 +02:00
build_assert.rs rust: upgrade to Rust 1.68.2 2023-05-31 17:35:03 +02:00
error.rs rust: error: impl Debug for Error with errname() integration 2023-06-13 01:24:42 +02:00
init.rs rust: init: add ..Zeroable::zeroed() syntax for zeroing all missing fields 2023-08-21 14:31:48 +02:00
ioctl.rs rust: ioctl: Add ioctl number manipulation functions 2023-04-22 01:46:45 +02:00
lib.rs rust: bindgen: upgrade to 0.65.1 2023-08-15 00:37:22 +02:00
prelude.rs rust: add derive macro for Zeroable 2023-08-21 14:31:48 +02:00
print.rs rust: kernel: Mark rust_fmt_argument as extern "C" 2023-04-06 23:11:04 +02:00
static_assert.rs rust: static_assert: add static_assert! macro 2022-12-04 01:59:16 +01:00
std_vendor.rs rust: upgrade to Rust 1.68.2 2023-05-31 17:35:03 +02:00
str.rs rust: str: add conversion from CStr to CString 2023-05-31 18:53:10 +02:00
sync.rs rust: sync: introduce CondVar 2023-04-22 01:46:45 +02:00
task.rs rust: task: add Send marker to Task 2023-05-31 18:53:10 +02:00
types.rs rust: types: make Opaque be !Unpin 2023-08-10 01:18:34 +02:00