Floating point types default to NaN?
A Guy With a Question
aguywithaquestion at gmail.com
Sat Nov 25 22:28:22 UTC 2017
On Saturday, 25 November 2017 at 22:13:43 UTC, Adam D. Ruppe
wrote:
> On Saturday, 25 November 2017 at 16:16:52 UTC, A Guy With a
> Question wrote:
>> If D chooses it's defaults to make errors stick out, why not
>> just error at declaration if they don't explicitly set it to
>> something.
>
> It technically did:
>
> https://dlang.org/spec/function.html#local-variables
>
> "It is an error to use a local variable without first assigning
> it a value. The implementation may not always be able to detect
> these cases. Other language compilers sometimes issue a warning
> for this, but since it is always a bug, it should be an error. "
>
>
> But that paragraph was never implemented (it is a bit easier
> said than done to actually detect given if conditions and stuff
> too, especially in the early days of D when the compiler didn't
> even make any effort to track such things, though it does
> now...). The compiler author took the easy way out of
> initializing them to invalid values instead.
>
> While it is more realistic to implement technically now than it
> was years ago when the current behavior got in, I think we're
> at the point now that so many people use it as a convenience
> thing on ints and nulls that there'd be hell to pay if the
> compiler actually started calling it an error :(
Fair enough!
More information about the Digitalmars-d-learn
mailing list