On Friday, May 25, 2012 17:53:45 Mehrdad wrote: > @Andrei: The reason this is allowed is that finalization is > _separate_ from garbage collection in .NET. So an object can be > finalized and yet still not GC'd. Or its finalizer might be > suppressed, allowing it to get GC'd directly. This allows for > many possibilities, although you don't usually need them.
Finalization _can_ be separate from the GC in D thanks to clear, but it does normally occur as part of a collection cycle. - Jonathan M Davis