Return type inference
Steven Schveighoffer
schveiguy at yahoo.com
Thu May 17 07:22:34 PDT 2012
On Thu, 17 May 2012 09:10:18 -0400, Tobias Pankrath <tobias at pankrath.net>
wrote:
> This does not work and I can see why.
>
> ---
> auto foo(int x)
> {
> if(x < 0)
> return foo(-x);
> return x;
> }
> ----
>
> DMD 2.059 says:
> oopsc/compiler/test.d(7): Error: forward reference to foo
> oopsc/compiler/test.d(14): Error: forward reference to foo
>
> For the human reader it is easy to see that the return type of
> foo should be int.
At this point, I think the human should intervene:
int foo(int x)
...
I would *hate* to have to read code like yours to try and understand it.
-Steve
More information about the Digitalmars-d
mailing list