alias overloading strange error

anonymous via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Jul 31 04:09:38 PDT 2015


On Friday, 31 July 2015 at 10:56:33 UTC, vitus wrote:
> //Why expression 'foobar(1);' doesn't work?
>
>
> void foo()(){}
> void bar(int){}
>
> alias foobar = foo;
> alias foobar = bar;
>
> void main(){
> 	.foobar(1);		//OK
> 	foobar(1);		//Error: overload alias 'foo' is not a variable
>
> }

It works when you switch the aliases around:
----
void foo()(){}
void bar(int){}

alias foobar = bar;
alias foobar = foo;

void main(){
     foobar(1);
}
----

Definitely a bug. Please file an issue at 
<https://issues.dlang.org/>.


More information about the Digitalmars-d-learn mailing list