Proposal 2: Exceptions and @nogc

Dukc via Digitalmars-d digitalmars-d at puremagic.com
Wed Apr 12 22:29:28 PDT 2017


On Wednesday, 12 April 2017 at 15:08:44 UTC, Nick Treleaven wrote:
> This should be recognised as a scope class instance. It doesn't 
> need reference counting, as it should always be destroyed at 
> the end of current scope.

The reason it needs:

{   scope Object ob = new RefCountableType("foo");
     scope ob2 = ob;
     ob = new RefCountableType("bar");
}

The "foo" instance would leak if the destruction would be done by 
calling at end of scope. You also cannot call the destructor when 
a new object is assigned to it, because then ob2 would become 
dangling.

What could act without GC or RC, is an immutable scoped object. 
But that's a different matter altogether, because throwing 
lifetimed objects did not work according to Walter.


More information about the Digitalmars-d mailing list