<p>Am 27.10.2014 11:26 schrieb "Jonas Maebe" <<a href="mailto:jonas.maebe@elis.ugent.be">jonas.maebe@elis.ugent.be</a>>:<br>
><br>
><br>
> On 27 Oct 2014, at 11:10, Sven Barth wrote:<br>
><br>
>> A third possiblity would be to implement a cycle detector in the decrement helper, but I haven't come around that for now as I wanted to get a first rough implementation out to you all ;)<br>
><br>
><br>
> I think that a cycle detector should be an independent component, just like heaptrc is an independent add-on to detect memory problems in regular programs.</p>
<p>My plan was to add this as a callback. Thus way one could use a collector in a different thread or a synchronous one :)</p>
<p>><br>
> Additionally, as mentioned before, I still believe it's a very bad idea to be able to inherited from a regular class and turn it into a reference counted class. Reference counted and non-reference-counted classes are different language entities with different behaviour and different code generation requirements, and hence should be completely unrelated.<br>
><br>
> Even if you completely forbid typecasting a reference counted class into a non-reference-counted parent class, simply calling an inherited method from a non-reference-counted parent class can easily completely mess up the reference counting (e.g. suppose that inherited method inserts "self" into a linked list).</p>
<p>That's why I implemented it like this for now so we could check on real code whether there would be any problems instead of theorizing about it. :) Afterall I said it's experimental and nowhere near final.</p>
<p>Regards,<br>
Sven</p>