On Wed Apr 23, 2025 at 1:23 AM JST, Joel Fernandes wrote:
>
>
> On 4/20/2025 8:19 AM, Alexandre Courbot wrote:
>> We will commonly need to compare chipset versions, so derive the
>> ordering traits to make that possible. Also derive Copy and Clone since
>> passing Chipset by value will be more efficient than by reference.
>> 
>> Signed-off-by: Alexandre Courbot <acour...@nvidia.com>
>> ---
>>  drivers/gpu/nova-core/gpu.rs | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/drivers/gpu/nova-core/gpu.rs b/drivers/gpu/nova-core/gpu.rs
>> index 
>> 17c9660da45034762edaa78e372d8821144cdeb7..4de67a2dc16302c00530026156d7264cbc7e5b32
>>  100644
>> --- a/drivers/gpu/nova-core/gpu.rs
>> +++ b/drivers/gpu/nova-core/gpu.rs
>> @@ -13,7 +13,7 @@ macro_rules! define_chipset {
>>      ({ $($variant:ident = $value:expr),* $(,)* }) =>
>>      {
>>          /// Enum representation of the GPU chipset.
>> -        #[derive(fmt::Debug)]
>> +        #[derive(fmt::Debug, Copy, Clone, PartialOrd, Ord, PartialEq, Eq)]
>
> Since Ord implies PartialOrd, do you need both? Same for Eq.

Ord does not imply PartialOrd, it requires it. It's a bit cumbersome but
the compiler will throw an error if `Ord` is derived without
`PartialOrd`. Same thing applies for `Eq`.

Reply via email to