Re: [PATCH v2 02/14] rust: hrtimer: introduce hrtimer support
From: Andreas Hindborg
Date: Mon Sep 23 2024 - 12:35:55 EST
"Benno Lossin" <benno.lossin@xxxxxxxxx> writes:
> On 19.09.24 07:43, Andreas Hindborg wrote:
>> Hi Benno,
>>
>> Thanks for the feedback. I will incorporate all the whitespace
>> suggestions you have =F0=9F=91=8D
>
> There seems to be something wrong with the encoding in this email, is
> that an issue on my side or yours?
It seems to be on my end. It also showed up on lore with errors. I will
check my tools.
[...]
>>>> + /// until the timer is unarmed and the callback has completed.
>>>> + ///
>>>> + /// Note: It must be safe to leak the handle.
>>>> + type TimerHandle: TimerHandle;
>>>
>>> Why does this need to be an associated type? Couldn't we have a
>>> `TimerHandle<T>` struct? The schedule function below could then return
>>> `TimerHandle<Self>`.
>>
>> At one point, I had some cycles in trait resolution. Moving generics to
>> associated types solved that issue. Maybe this can be changed to a
>> generic. But are generics preferred over associated types for some
>> reason?
>
> The associated type is more complicated IMO, because then every
> implementer of the trait needs to create one. If we can avoid that, I
> would prefer a generic type.
When you say create, you mean specify? Users would not invent their own
type to put here, they would use the types defined by the `hrtimer`
module in later patches.
BR Andreas