On Saturday, 25 November 2017 at 09:39:15 UTC, Dave Jones wrote:
On Friday, 24 November 2017 at 22:38:49 UTC, Jonathan M Davis wrote:
On Friday, November 24, 2017 20:43:14 A Guy With a Question via Digitalmars- d-learn wrote:
On Friday, 24 November 2017 at 14:43:24 UTC, Adam D. Ruppe
That requires data flow analysis, which the compiler doesn't do a lot of, because it can be complicated. It also tends to result in the compiler giving warnings or errors in cases where it's not actually true that the variable is used before it's given a value, because it can't do it perfectly. There was a recent discussion on this in the main newsgroup with regards to guaranteeing with a pointer or reference was initialized to something other than null.

I think he means just spew an error if a float is declared but not explicitly initialised... Whats the problem with...

float foo; // compiler error "floats must be explicitly initialised"
float foo = float.nan; // old behaviour.

I mean at the end of the day, that would turn a run time error into a compile time error which is a good thing isnt it?

That is exactly what I meant. I think most languages just choose to default it to something convenient, which is 0. C++ chooses not to default it for speed reasons. 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. Including void, which would give you C++ undefined behavior from what I've read so far.


  • Floating point types default... A Guy With a Question via Digitalmars-d-learn
    • Re: Floating point type... Adam D. Ruppe via Digitalmars-d-learn
      • Re: Floating point ... A Guy With a Question via Digitalmars-d-learn
        • Re: Floating po... Jonathan M Davis via Digitalmars-d-learn
        • Re: Floating po... Dave Jones via Digitalmars-d-learn
          • Re: Floatin... A Guy With a Question via Digitalmars-d-learn
            • Re: Fl... A Guy With a Question via Digitalmars-d-learn
            • Re: Fl... Adam D. Ruppe via Digitalmars-d-learn
              • Re... A Guy With a Question via Digitalmars-d-learn
              • Re... Steven Schveighoffer via Digitalmars-d-learn
                • ... Adam D. Ruppe via Digitalmars-d-learn
              • Re... Michael V. Franklin via Digitalmars-d-learn
                • ... Michael V. Franklin via Digitalmars-d-learn
                • ... A Guy With a Question via Digitalmars-d-learn
                • ... Michael V. Franklin via Digitalmars-d-learn
                • ... A Guy With a Question via Digitalmars-d-learn

Reply via email to