On Wednesday, 25 January 2017 at 22:59:55 UTC, Jonathan M Davis
wrote:
Yes, but my point is that you're normally only going to use
.ptr to pass something to a C function, and even if you're
doing more with it in D, odds are, you're going to be doing
pointer arithmetic.
Wrong again. If this were the case, we wouldn't have needed to
make it a deprecation at all, since all uses would have been
mistakes. A non-negligible amount of real-world D code actually
uses single-object pointers. Look up the change history if you
are interested – and indeed, making sure one understands the
topic sufficiently well to meaningfully contribute before typing
out a wall-length sermon would collectively save us a good chunk
of time.
And when you combine it with marking C function @trusted, this
is actually pretty bad.
Ex falso quodlibet – once you have a piece of code mistakenly
marked @trusted, all guarantees are out of the window even
without suspicious-looking client code. @safe-ty is about
mechanically verifiable code, not faith-based programming.
— David