On Wednesday, 27 January 2016 at 14:22:18 UTC, Shachar Shemesh
wrote:
I bring it up every time the subject comes up, in the hopes
that at some point it will sink in.
No, D is not capable of doing it already. Without 100% reliable
destructors, RAII is simply not implementable.
D's destructors are not guaranteed to run on 100% of fully
initialized structs, which means that a RAII container has no
way to make sure its resource is actually freed. It is up to
the implementer. This eradicates almost all of the utility RAII
was meant to provide.
Shachar
The only time it may not run, it is when these are collected by
the GC. Which is not a problem if you want to use RAII, as in
C++, to not use a GC.
What need to sink in is that, when it come to RAII, you have all
the same tool as in C++ and can do all the same shit (modulo
internal pointers), as unasfely as in C++.
- Re: C++17 Shachar Shemesh via Digitalmars-d
- Re: C++17 Minas Mina via Digitalmars-d
- Re: C++17 Shachar Shemesh via Digitalmars-d
- Re: C++17 Andrei Alexandrescu via Digitalmars-d
- Re: C++17 deadalnix via Digitalmars-d
- Re: C++17 Dejan Lekic via Digitalmars-d
- Re: C++17 Sergei Degtiarev via Digitalmars-d
- Re: C++17 Wilson via Digitalmars-d