[dmd-beta] dmd 2.063 beta 3

Rainer Schuetze r.sagitario at gmx.de
Sat May 18 06:31:40 PDT 2013


On 18.05.2013 01:34, Walter Bright wrote:
> http://ftp.digitalmars.com/dmd2beta.zip
>
> This has Kenji's new 'transition' switch.
>
> Regressions:
>
> http://d.puremagic.com/issues/buglist.cgi?query_format=advanced&bug_severity=regression&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>

I just updated to the current master after a few weeks of keeping it 
stable for the Visual D release, and noticed that the lookup rules for 
local imports seem to have changed:

void remove(int x)
{
}

class Boo
{
	import core.stdc.stdio;
}

class Foo : Boo
{
	void foo()
	{
		remove(1);
	}
}

dmd 2.062 compiles just fine, master "dmd -c test.d" now returns:
test.d(14): Error: function core.stdc.stdio.remove (const(char*) 
filename) is not callable using argument types (int)

i.e. the local import in the base class has higher precedence than 
module scope. Is this change by design or a regression? I didn't find 
anything about it in the changelog.



More information about the dmd-beta mailing list