Re: [Qemu-devel] [RFC PATCH 01/13] Generic DMA memory access interface

David Gibson
2011-06-02T09:39:13Z

On Wed, Jun 01, 2011 at 08:45:56AM -0700, Richard Henderson wrote:
> On 06/01/2011 08:35 AM, Eduard - Gabriel Munteanu wrote:
> > Maybe it's not nice, but you're missing the fact upcasting gives you
> > some type safety. With opaques you have none.
>
> Lol. Do you understand what container_of does?
> This is not dynamic_cast<> with RTTI.
>
> You can put any type name in there that you like,
> so long as it has a field name to match. The type
> of the field you give doesn't even have to match
> the type of the pointer that you pass in.

Uh, if that's true, that's a bug in the container_of implementation.
The ccan container_of implementation, for example, certainly does
check that the given field has type matching the pointer.

--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!