Phobos Members-Tuple function?

Timon Gehr timon.gehr at gmx.ch
Sat Jan 19 19:23:13 PST 2013


On 01/20/2013 03:59 AM, Ali Çehreli wrote:
> On 01/19/2013 06:41 PM, Ali Çehreli wrote:
>
>  > class Engine
>  > {
>  > static bindActors(Actor, string pattern)
>  >     {
>  >         writefln(" Binding actor with pattern %s", pattern);
>  >     }
>  > }
>
> How come that function compiles without a return type? The following is
> a bug, right?
>
> class C
> {
>      static foo()  // <-- no return type; void is assumed
>      {}
> }
>
> void main()
> {
>      static assert(is(typeof(C.foo()) == void));
> }
>
> Ali
>

Not a bug. This is function return type deduction. If you return 
something from foo, then the return type will change. What is often 
missed is that 'auto' does not mean anything. It exists just to make the 
parser happy.


More information about the Digitalmars-d-learn mailing list