On Wednesday, 16 January 2019 at 17:01:06 UTC, Steven Schveighoffer wrote:
On 1/14/19 2:30 PM, Neia Neutuladh wrote:
On Mon, 14 Jan 2019 09:10:39 +0000, Vijay Nayar wrote:
      a.foo(1);  // issues runtime error (instead of calling
A.foo(int))

Calling the function doesn't issue any sort of error. Overriding one overload without overloading or explicitly aliasing in the rest issues a
compile-time error.

If you got a runtime error instead, please create a bug report.

I ran into this the other day, where I had a function of the same name in a child class, and found that all functions in the parent of the same
name now became hidden, unless I add an alias statement.

If the functions from the parent class are hidden but your code compiles,
please create a bug report.


Well, for sure, the documentation needs to be updated!

It was 2.068 that removed the HiddenFuncError, and made this a compile error instead. If your compiler is that or newer, definitely file a bug report.

-Steve

It's a compile error, and it says that one should use alias as well. I was just surprised and I hadn't thought of why this alias would be needed. Based on the recommendation I found the language documentation, but there was no link to the article explaining the rationale. But I'm glad I read that article, it makes a lot more sense now.

Reply via email to