rust: types: require ForeignOwnable::into_foreign return non-null

The intended implementations of `ForeignOwnable` will not return null
pointers from `into_foreign`, as this would render the implementation of
`try_from_foreign` useless. Current users of `ForeignOwnable` rely on
`into_foreign` returning non-null pointers. So require `into_foreign` to
return non-null pointers.

Suggested-by: Benno Lossin <lossin@kernel.org>
Suggested-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Andreas Hindborg <a.hindborg@kernel.org>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20250612-pointed-to-v3-2-b009006d86a1@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
Andreas Hindborg
2025-06-12 15:09:44 +02:00
committed by Miguel Ojeda
parent 12717ebeff
commit a68a6bef0e

View File

@@ -43,6 +43,7 @@ pub unsafe trait ForeignOwnable: Sized {
/// # Guarantees
///
/// - Minimum alignment of returned pointer is [`Self::FOREIGN_ALIGN`].
/// - The returned pointer is not null.
///
/// [`from_foreign`]: Self::from_foreign
/// [`try_from_foreign`]: Self::try_from_foreign