rust: error: optimize error type to use nonzero
authorFilipe Xavier <felipe_life@live.com>
Sat, 5 Oct 2024 19:51:23 +0000 (19:51 +0000)
committerMiguel Ojeda <ojeda@kernel.org>
Wed, 9 Oct 2024 22:33:42 +0000 (00:33 +0200)
commite9759c5b9ea555d09f426c70c880e9522e9b0576
tree417bd77d83af734fcddb34db723495699da5f84b
parentf4c2c90bb7b4ae1812dbaca15d9637eecaac2c9f
rust: error: optimize error type to use nonzero

Optimize `Result<(), Error>` size by changing `Error` type to
`NonZero*` for niche optimization.

This reduces the space used by the `Result` type, as the `NonZero*`
type enables the compiler to apply more efficient memory layout.
For example, the `Result<(), Error>` changes size from 8 to 4 bytes.

Link: https://github.com/Rust-for-Linux/linux/issues/1120
Signed-off-by: Filipe Xavier <felipe_life@live.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Fiona Behrens <me@kloenk.dev>
Link: https://lore.kernel.org/r/BL0PR02MB4914B9B088865CF237731207E9732@BL0PR02MB4914.namprd02.prod.outlook.com
[ Removed unneeded block around `match`, added backticks in panic
  message and added intra-doc link. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/kernel/error.rs