D 2015/2016 Vision?

Marc Schütz via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 7 04:50:40 PDT 2015


On Wednesday, 7 October 2015 at 10:44:50 UTC, Jonathan M Davis 
wrote:
> Having ref-counting built into the language will allow us to 
> make it more efficient and provide some safety guarantees that 
> can't necessarily be provided in a struct, but it doesn't make 
> it so that no one can misuse ref-counted objects.

I doubt that it can gain much performance in contrast to a 
well-designed scope-like feature. In particular, elision of 
inc/dec pairs is practically free in such a system.

>
> Ultimately, the largest benefit to having ref-counting built 
> into the language will probably be that we can the have 
> exceptions be reference counted [...]

Why not allow throwing structs if they subtype Throwable (via 
alias this)? This is less whacky than it sounds at first: During 
the throwing process, no postblit's don't have to be called, 
because throwing always just moves. Destruction and copying can 
only take place in catch blocks, where it's already supported. 
There would probably just be minor changes necessary to druntime 
and the compiler.


More information about the Digitalmars-d mailing list