mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2026-01-27 12:47:24 +01:00
rust: types: remove Either<L, R>
This enum is not used. Additionally, using it would result in poor ergonomics, because in order to do any operation on a value it has to be matched first. Our version of `Either` also doesn't provide any helper methods making it even more difficult to use. The alternative of creating a custom enum for the concrete use-case also is much better for ergonomics. As one can provide functions on the type directly and users don't need to match the value manually. Signed-off-by: Benno Lossin <lossin@kernel.org> Reviewed-by: Danilo Krummrich <dakr@kernel.org> Link: https://lore.kernel.org/r/20250519124304.79237-1-lossin@kernel.org Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
parent
1523590203
commit
28753212e0
|
|
@ -569,24 +569,6 @@ impl<T: AlwaysRefCounted> Drop for ARef<T> {
|
|||
}
|
||||
}
|
||||
|
||||
/// A sum type that always holds either a value of type `L` or `R`.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// use kernel::types::Either;
|
||||
///
|
||||
/// let left_value: Either<i32, &str> = Either::Left(7);
|
||||
/// let right_value: Either<i32, &str> = Either::Right("right value");
|
||||
/// ```
|
||||
pub enum Either<L, R> {
|
||||
/// Constructs an instance of [`Either`] containing a value of type `L`.
|
||||
Left(L),
|
||||
|
||||
/// Constructs an instance of [`Either`] containing a value of type `R`.
|
||||
Right(R),
|
||||
}
|
||||
|
||||
/// Zero-sized type to mark types not [`Send`].
|
||||
///
|
||||
/// Add this type as a field to your struct if your type should not be sent to a different task.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user