Beta D 2.071.0-b2
Steven Schveighoffer via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Mon Apr 4 09:13:09 PDT 2016
On 4/3/16 7:59 AM, tost wrote:
> On Wednesday, 30 March 2016 at 11:03:51 UTC, Martin Nowak wrote:
>> Second beta for the 2.071.0 release.
>>
>> http://dlang.org/download.html#dmd_beta
>> http://dlang.org/changelog/2.071.0.html
>>
>> Please report any bugs at https://issues.dlang.org
>>
>> -Martin
>
> //foo.d
> module foo;
>
> void main() {}
>
> class A {
>
> void bar(int i) {}
>
> void baz() {
> import othermodule;
> bar("abc");
> }
> }
>
> // othermodule.d
> module othermodule;
>
> void bar(string s) {}
>
> compiled with
>
> dmd foo.d othermodule.d
>
> gives
>
> foo.d(11): Error: function foo.A.bar (int i) is not callable using
> argument types (string)
>
> is this a feature of the new name lookup algorithm or a bug? Adapting my
> codebase would be trivial :)
Yes. There are new lookup rules. See my post about it here:
http://www.schveiguy.com/blog/2016/03/import-changes-in-d-2-071/
To fix, you should import with selective:
import othermodule: bar;
If you need both bar(int) and bar(string) from their respective
locations, I'd suggest a renaming import.
-Steve
More information about the Digitalmars-d-announce
mailing list