On 11 October 2015 at 14:35, Jonathan M Davis via Digitalmars-d <digitalmars-d@puremagic.com> wrote: > On Sunday, 11 October 2015 at 04:16:11 UTC, deadalnix wrote: >> >> If we go these DIP road, there is no coming back and this will get in the >> way of a principled approach. > > > Then come up with an alternative DIP which shows a better way to solve this. > As it stands, it looks likely that we'll end up with some form of DIP 74, > and if you have a better proposal, then now is probably the time to do it. > > Personally, I obviously haven't been following this closely enough, because > I don't understand why something like RefCounted can't be made to do what we > need with regards to reference counting and classes. It does get a bit nasty > when inheritance and whatnot get involved, but C++ was able to solve that > easily enough, and we should be able to do the same.
C++ didn't solve anything(?). C++ doesn't support ref-counting at all! shared_ptr is not a part of the language, or a proper ref counting mechanism. It's just a hack; it's awkward, and really inefficient (the compiler can't optimise it). ARC requires language knowledge. I don't know what language primitives can possibly allow the compiler to do proper ref fiddling optimisation with a lib?