D is dead
Walter Bright
newshound2 at digitalmars.com
Thu Aug 23 12:03:59 UTC 2018
On 8/23/2018 4:31 AM, Shachar Shemesh wrote:
> None of that continues to work once delegates are involved. I am yet to see a
> library that can accept a delegate and correctly create a function around it
> that matches its attributes.
>
> And yes, I do include Mecca in this. I tried. It is too difficult to get right,
> so I gave up.
>
> Attribute inference was supposed to solve this, but attribute inference is
> completely broken with separate compilation.
I'd like to see an example so I can understand exactly what you're having
trouble with.
>> This is in the language spec:
> How many people know that without resorting to the specs.
This is a little unfair. It's plainly stated in the documentation for foreach.
Heck, I wrote a C compiler and the library for it, and yesterday I had to look
up again how strncmp worked. I refer to the documentation regularly. Back when I
designed digital circuits, I had a well-worn TTL data book on my desk, too. If
it wasn't documented, or documented confusingly, it would be a fair point.
>>> Does it matter if it allows copying or not?
>> For the preference for opApply, no.
> But it does for empty/front/popFront, which is exactly my point.
If front() returns by ref, then no copying happens. If front() returns by value,
then a copy is made. This should not be surprising behavior.
>> If you're referring to #14246, I posted a PR for it. I don't see how that is
>> pretending it isn't a problem. It is.
> When I first reported this, about 3 and a half years ago, the forum explained to
> me that this is working as expected.
The forum can be anyone saying anything. A more reliable answer would be the
bugzilla entry being closed as "invalid", which did not happen.
> #14246 was over 2 years old by the time you posted the PR. Once posted, however,
> it broke (I'm not sure why it broke, but did notice it deliberately would not
> work with @disable init structs. See my interoperability comment from above).
> Since then (over a year), no progress has been made except to revert the
> changelog that claims it was resolved.
The problem was calling other destructors that had different attributes, such as
the constructor being @safe but calling a destructor that was not. It's not an
intractable problem, but I work on critical problems every day. It's just that
everybody has a different issue that is critical to them.
> So you will excuse me, but I don't think this bug is being taken as seriously as
> I think it should.
It is a serious problem. (There are workarounds available, like using
scope(failure).)
I'd appreciate a list of bugzilla issues you regard as critical to your operations.
More information about the Digitalmars-d
mailing list