DIP 1014
Stanislav Blinov
stanislav.blinov at gmail.com
Wed Oct 3 17:58:17 UTC 2018
On Wednesday, 3 October 2018 at 08:21:38 UTC, Manu wrote:
> Okay, so copy elision is working... but moves otherwise are
> not? That's still not what we've been peddling all these years.
> A whole lot of design surface area is dedicated to implicit
> move semantics... and they don't work? What does it do?
> postblit unnecessarily?
No. The problem is that the language is under-specified. It is
built on the *assumption* that no one ever should create
self-referencing data. But it does not enforce that. Which
eventually leads to someone trying to make such data and then run
into a wall, or worse, a heisenbug.
Thing is, there isn't anything wrong with self-referencing data
per se. It's that the language plumbing should either disallow it
wholesale (i.e. Rust) or allow a graceful way of handling it.
Neither is present in D. The latter could be added though, that's
what the DIP is about.
More information about the Digitalmars-d
mailing list