Is there a reason for default-int?
Don
nospam at nospam.com
Tue Dec 29 22:44:59 PST 2009
BCS wrote:
> Hello Ary,
>
>> Don wrote:
>>
>>> Phil Deets wrote:
>>>
>>>> On Mon, 28 Dec 2009 16:18:46 -0500, Simen kjaeraas
>>>> <simen.kjaras at gmail.com> 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[]?
>
>
Error.
More information about the Digitalmars-d-learn
mailing list