On Tuesday, 27 October 2015 at 23:15:39 UTC, Tofu Ninja wrote:
On Tuesday, 27 October 2015 at 22:23:15 UTC, bitwise wrote:
[...]

-H also keeps the body of template functions so I would assume it would treat auto overrides the same.


Well.. It's not going to just work. Dmd will surely have to be told what to do.

[...]

I think you are correct, there is a scenario where one might want to provide a header to a class and not include the auto override body. An alternative solution could be that if you provide a header to a class and don't include the auto override body, then the auto override functionality is removed and the method is treated as a regular method from that point on(with the most recent version of the method being the one that is used). This would allow the class to still be inherited later on.


I have to disagree with this. A function's meaning should not change because it's definition is removed.

    [...]

A.foo() or B.foo() seems to work instead of super.super.foo() or super.foo()

Ah, ok. I'll take your word for it(on my phone).

I'm wondering if it would be worth it to make a DIP for this. We could sort out the details and discuss the use and ab-use cases ;)

I myself would be a bit reluctant to start on the DIP right this second though, as I don't currently have the knowledge/time to back it with a proof of concept implementation.

   Bit

Reply via email to