digitalmars.D.bugs - Possible implicit type conversion bug with arithmetic op=
- "Jarrett Billingsley" <kb3ctd2 yahoo.com> Jun 23 2006
- Bruno Medeiros <brunodomedeirosATgmail SPAM.com> Jun 26 2006
Try this: int x = 4.5; It fails because you can't implicitly convert a floating point type to an int. Similarly: x = x + 4.5; Also fails. But: x += 4.5; Works, and 4.5 is implicitly converted to an int. This happens with +=, -=, *=, /=, and %=. The bitwise op= (&=, |=, <<=, >>= and >>>=) all issue errors because 4.5 is not integral. I'm 99% sure this is a bug. If so, I'll bugzilla it.
Jun 23 2006
Jarrett Billingsley wrote:Try this: int x = 4.5; It fails because you can't implicitly convert a floating point type to an int. Similarly: x = x + 4.5; Also fails. But: x += 4.5; Works, and 4.5 is implicitly converted to an int. This happens with +=, -=, *=, /=, and %=. The bitwise op= (&=, |=, <<=, >>= and >>>=) all issue errors because 4.5 is not integral. I'm 99% sure this is a bug. If so, I'll bugzilla it.
Does seem like a bug to me. Do report it. -- Bruno Medeiros - CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Jun 26 2006








Bruno Medeiros <brunodomedeirosATgmail SPAM.com>