Re: [PATCH v3 2/2] rust: add dma coherent allocator abstraction.

From: Abdiel Janulgue
Date: Mon Nov 04 2024 - 04:38:26 EST




On 04/11/2024 11:31, Alice Ryhl wrote:
On Mon, Nov 4, 2024 at 10:07 AM Abdiel Janulgue
<abdiel.janulgue@xxxxxxxxx> wrote:
+/// Abstraction of dma_alloc_coherent
+///
+/// # Invariants
+///
+/// For the lifetime of an instance of CoherentAllocation, the cpu address is a valid pointer
+/// to an allocated region of consistent memory and we hold a reference to the device.
+pub struct CoherentAllocation<T: Add> {

Requiring `T: Add` is very unusual. Why?

I don't even see any additions anywhere.

Alice

Background here:
https://lore.kernel.org/all/ee45ae5f-133d-4d38-bb4a-d3515790feb4@xxxxxxxxx/

Basically this aims to restrict the abstraction to non-ZST types. Are there better (clever) ways to do this?

Thanks!

/Abdiel