On 2012-09-24 15:05, deadalnix wrote:

I understand your example, but in it, no (int) are involved. So no
conversion have to be done (and you get an error).

What has that to do with anything. Example:

auto a = 3;

There's no mention of "int" in that example, yet "a" is still an int.

You see in example above that conversion is done when int is given where
(int) is expected or vice versa, not whenever the compiler feels to.

int b = 4;
b[0]

Why isn't that an example of where a (int) is expected? I'm no expert on how the compiler does semantic analyze but if it sees something like "b[0]" then it thinks: it's either an array, a pointer, an associate array, opAssign or now a tuple. Then it thinks: hey an int is implicitly convertible to a one element tuple, I do that.

--
/Jacob Carlborg

Reply via email to