I don't think D solved that. Only partially. Both are conflated here for instance :On Wednesday, 27 February 2013 at 06:15:29 UTC, dennis luehring wrote:
Am 27.02.2013 06:54, schrieb deadalnix:
In current D, the ambiguity is _already_ resolved - if you want
to function
address, use & operator.
D behave very much like C on that regard, so I don't really see
how this can be true.
void (*functionPtr)();
//both are valid and working in C
functionPtr xyz = &foo;
functionPtr zxy = foo; //<- this is solved in D
void foo() {}
foo(); <=> (&foo)();
Is another presentation of the same conflation.
The DIP propose to effectively solve that by removing completely the entity represented by foo in &foo . You can't have conflation with something that do not exists.