Real implicitly converts to float?
Tofu Ninja via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Jun 22 21:55:09 PDT 2016
On Wednesday, 22 June 2016 at 14:17:42 UTC, Jonathan M Davis
wrote:
> Well, that particular value should probably work thanks to VRP
> (value range propagation), since 10 can fit into float with no
> loss of precision. However, what's far more disconcerting is
> that
>
> real x = real.max;
> float y = x;
>
> compiles. real to float is a narrowing conversion, which should
> be an error barring the compiler detecting that the value will
> fit in the target type even if it's a narrowing conversion
> (which only happens with VRP). That's not the sort of thing
> that I would have expected to be broken such that it begs the
> question as to whether it's intentional, but given that
> narrowing conversions without a cast are illegal everywhere
> else, this definitely seems broken.
>
> - Jonathan M Davis
Should I make a bug report? I am not sure it's a bug, seems
intentional. Maybe a dip for a compiler flag to warn on implicit
down conversions, but it would be a pretty small dip.
More information about the Digitalmars-d-learn
mailing list