[Issue 5779] Bad value range propagation for ternary operator

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Mar 23 21:35:10 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=5779


Don <clugdbug at yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug at yahoo.com.au


--- Comment #1 from Don <clugdbug at yahoo.com.au> 2011-03-23 21:31:51 PDT ---
(In reply to comment #0)
> void main()
> {
>     bool b = true;
>     ubyte bit = b ? 1 : 0;
> }
> 
> With warnings enabled, the compiler complains:
> 
> test.d(4): Warning: implicit conversion of expression (b ? 1 : 0) of type int
> to ubyte can cause loss of data
> 
> Doesn't happen with D2 (2.052).

D1 doesn't have range propagation! It's a D2 feature, which eliminates these
kind of nonsense errors. I think this bug is probably invalid.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list