http://d.puremagic.com/issues/show_bug.cgi?id=11212
Summary: Use of uninitialized struct allowed 2
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Keywords: accepts-invalid
Severity: normal
Priority: P2
Component: DMD
AssignedTo: [email protected]
ReportedBy: [email protected]
--- Comment #0 from Max Samukha <[email protected]> 2013-10-09 14:00:29
PDT ---
Related to issue 11211
struct S {
@disable this();
bool cted;
this(int x) {
cted = true;
}
void foo() {
assert(cted);
}
}
void bar(A a) {
a.s.foo();
}
class A {
S s;
this() {
bar(this); // shouldn't compile
s = S(1);
}
}
void main() {
auto a = new A;
}
Passing 'this' outside the constructor should be disallowed before structs with
disabled constructors are initialized.
I could go on with bug reports but it is obvious that there is no good solution
in the face of current compilation model.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------