On Tue, Sep 1, 2015 at 8:34 AM, Jacob Carlborg via Digitalmars-d-announce < digitalmars-d-announce@puremagic.com> wrote:
> On 2015-08-31 08:01, Martin Nowak wrote: > >> First beta for the 2.068.1 point release (we skipped -b1 due to a bug). >> > > Here's a piece of code that used to compile in 2.067.0 but not in 2.068.0: > > class UniText > { > abstract const char[] toString (char[] dst = null); > abstract const wchar[] toString16 (wchar[] dst = null); > abstract const dchar[] toString32 (dchar[] dst = null); > } > > The error message is: > > Error: class main.UniText use of object.Object.toString() is hidden by > UniText; use 'alias toString = Object.toString;' to introduce base class > overload set > > I suspect this is intended? > > -- > /Jacob Carlborg > Yep, that is intended. You have to explicitly "import" overload sets. It does seem to me that if there is only one function in the other overload set the error could be disabled, however it is clearer the way it works in 2.068. And it will get us used to having to be explicit when adding to overload sets like in the code above.