On Wednesday, 22 August 2018 at 09:23:26 UTC, Walter Bright wrote:

dip1000 has been around for two years, and its predecessor dip25 several years now. Plenty of time for anyone to comment and/or propose something better.

Part of the problem is that the implementation keeps changing without keeping the documentation in sync. For example you're implementing all of these inference rules without documenting them:

https://github.com/dlang/dmd/pull/8346
https://github.com/dlang/dmd/pull/8408

I asked you about, instead of inferring the attributes, allowing users to add such logic themselves:

void foo(T)(T x)
    if (__traits(isPointer, T)) { T = scope T; }
{ }

But, then the PR got rubber-stamped, and now here we are.

Mike




Reply via email to