--- Comment #3 from Don <clugd...@yahoo.com.au> 2011-12-09 01:34:20 PST ---
(In reply to comment #2)
> (In reply to comment #1)
> > I don't think:
> > int x = true;
> > should compile. That looks like a bug to me (a relic of 'bit').
> The 'bit' type has no relation with this problem.
> In languages as Java and Pascal boolean values and integer values are two very
> distinct types. In languages like C/C++/D/Python boolean is a kind of subset
> integer type.
Where did you get the idea that that applies to D? It was certainly true of
'bit', but bool is different.
> This means
> int x;
> bool b;
> x = b; // OK, it's a subset
> b = x; // error, generally
> There are many situations where the implicit true -> 1 conversion is handy.
There are many uses for 1 -> true. But not the reverse. I can't see why:
int a = b > c; should compile.
> D accepts the implicit true -> 1 conversion in all cases.
Refusing it only in
> BigInt assignements breaks the language simmetry.
>I don't think the implicit true -> 1 conversion will be removed from D2,
This is what I disagree with. It's another evil implicit conversion.
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------