Bug in RefCounted?

Jesse Phillips Jesse.K.Phillips+D at gmail.com
Thu Oct 24 09:40:40 PDT 2013


On Thursday, 24 October 2013 at 14:58:21 UTC, Rene Zwanenburg 
wrote:
> I'm writing a D wrapper for a C library. I was planning to use 
> RefCounted structs to control the lifetime of objects created 
> by this library. Please check the following example:
>
> http://dpaste.dzfl.pl/b49962bf
>
> Foo would be an opaque struct. createFoo() and destroyFoo() 
> would be implemented in the C library (I know I have to declare 
> them extern(C), this is just an example).
>
> As you can see, that code prints 'Destroying Foo' twice, with 
> different pointers. I expected destroyFoo to be called only 
> once, on the instance created by createFoo(), when the Bar 
> instance goes out of scope. Current behaviour causes an invalid 
> pointer to be passed to destroyFoo(). Is this a bug in 
> RefCounted or am I doing something wrong?

I answered a question related to RefCount on SO
http://stackoverflow.com/questions/4632355/making-a-reference-counted-object-in-d-using-refcountedt/4635050#4635050

Not written to your specific problem, but may give you the 
information you need.


More information about the Digitalmars-d-learn mailing list