Why isn't dip1000 fully implemented yet?

Nicholas Wilson iamthewilsonator at hotmail.com
Thu Nov 22 10:12:12 UTC 2018

On Thursday, 22 November 2018 at 09:05:59 UTC, Daniel N wrote:
> I believe the real issue is that...
> https://github.com/dlang/dmd/pull/8504
> ... has not been merged.
> If Walters fix is approved the spec can be merged directly 
> afterwards.
> The first parameter, like it or not, has special status in many 
> situations, ex:
> * implicit this
> * properties
> * chaining UFCS
> Now Walter wants to add a 4th item to this list, someone either 
> needs to approve it or come up with a better idea, otherwise we 
> won't get anywhere, I for one would happily approve it but I 
> obviously don't have the authority to do so.
> If an entirely different solution is chosen, then this spec 
> pull would document something which never even existed, that's 
> why it's key to pull 8504 first imho, as then the semantics is 
> cemented.

dlang.org#2453 is a blocker for that, and _not_ the other way 
round, for the sole reason that without knowing what it is 
supposed to do, it is impossible to review (the bugzilla issues 
are not helpful).

Note that dlang.org#2453 also documents other changes to dip1000 
that walter has made and has chosen not to document (just 
recently I had to inform Razvan who is otherwise a very capable 
compiler developer what the situation was because there is no 
documentation), which makes the whole process even worse because 
the implementation bears less and less resemblance to the 
documentation and keeping track of interactions gets 
combinatorially more difficult, and when reviewers are faced with 
that they simply just do not review.

More information about the Digitalmars-d mailing list