[Issue 12764] New: Disabled struct default construction circumvented when field is written to
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Sun May 18 08:44:40 PDT 2014
https://issues.dlang.org/show_bug.cgi?id=12764
Issue ID: 12764
Summary: Disabled struct default construction circumvented when
field is written to
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Keywords: accepts-invalid
Severity: major
Priority: P1
Component: DMD
Assignee: nobody at puremagic.com
Reporter: andrej.mitrovich at gmail.com
-----
struct S
{
@disable this();
this(string) { }
int f;
}
class C
{
this(int)
{
s.f = 1; // circumvents default ctor!
}
S s;
}
void main() { }
-----
If we comment out writing to 'f' we get:
test.d(11): Error: constructor test.C.this field s must be initialized in
constructor
This should always be emitted unless we explicitly call "s = S(...)" or "s =
S.init".
--
More information about the Digitalmars-d-bugs
mailing list