On 2012-05-24 21:46, foobar wrote:

Looks to me like an issue with separation of concerns. I think that
dtors need to only provide deterministic management of resources and not
affect GC algorithms:
1. classes should *not* have dtors at all.
2. struct values should *not* be gc managed [*].

Composition of classes and structs should be handled as follows:
1. If a class contains a pointer to a struct it doesn't scan it in a GC
cycle. The runtime can provide a hook so that structs could register a
callback for RC purposes.
2. When a class contains a strcut value, they share the same lifetime
thus the GC will call the struct's dtor when the object is collected.

How is that any different than having destructors for classes.

--
/Jacob Carlborg

Reply via email to