Hello Ary,

Don wrote:

Phil Deets wrote:

On Mon, 28 Dec 2009 16:18:46 -0500, Simen kjaeraas
<[email protected]> wrote:

Apart from C legacy, is there a reason to assume anything we don't
know what
is, is an int? Shouldn't the compiler instead say 'unknown type' or
something
else that makes sense?
C++ abandoned default int. I think it would be best for D to do the
same.

D never had default int. When there's an error, the compiler just has
to choose *some* type, so that it doesn't crash <g>.

It could be an Error type (that's not an alias for int type) that
don't start to spit errors everywhere and instead just blocks all
further errors on that type.


that poses an interesting question: what "type" does this this give?

int i;
char[] s;

int foo(int);
char[] foo(int,char[]);
int[] foo(char[],int);

auto whatType = foo(i ~ s, s);

i~s gives the error type but DMD could tell that as long as the other args are correct, the only foo that works returns a char[] so does the variable get the error type or char[]?


Reply via email to