[Issue 24813] New: Some compiler error messages refer to default construction instead of default initialization

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Oct 14 19:43:53 UTC 2024


https://issues.dlang.org/show_bug.cgi?id=24813

          Issue ID: 24813
           Summary: Some compiler error messages refer to default
                    construction instead of default initialization
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: issues.dlang at jmdavisProg.com

When talking about disabling default initialization, the spec and the compiler
talk about disabling default construction rather than disabling default
initialization, whereas because structs in D do not have default constructors,
and the way that they get their default value is different from what happens
with default constructors in C++, we typically refer to what D has as default
initialization (since normally, the default value for D structs comes from
blitting their init value).

As such, while default initialization is arguably a form of default
construction insofar as they both provide the default value for a struct (or
class in the case of C++), we normally refer to them as being distinct in order
to show that the way that structs get their default value in D is different
from C++, and referring to disabling default construction in the spec and in
compiler messages risks confusing people.

So, in order to be consistent with the terminology that we normally use and
reduce the risk of confusing people with regards to default constructors and D,
the compiler error messages should be changed to talk about disabling default
initialization rather than disabling default construction.
https://issues.dlang.org/show_bug.cgi?id=24805 is the corresponding issue for
the spec.

I discussed this with Walter, and he agreed to having the compiler messages be
changed to refer to default initialization rather than default construction.

--


More information about the Digitalmars-d-bugs mailing list