digitalmars.D.bugs - [Issue 2916] New: struct constructor use syntax undocumented
- d-bugmail puremagic.com (58/58) Apr 30 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2916
- d-bugmail puremagic.com (12/12) Jan 23 2012 http://d.puremagic.com/issues/show_bug.cgi?id=2916
- d-bugmail puremagic.com (12/12) Jan 23 2012 http://d.puremagic.com/issues/show_bug.cgi?id=2916
http://d.puremagic.com/issues/show_bug.cgi?id=2916 Summary: struct constructor use syntax undocumented Product: D Version: 2.029 Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: steve.teale britseyeview.com This is probably just a documentation issue. struct A { int a; this(int n) { a = n; } } struct B { int b; this(int n) { b = n; } } struct C { A a; B b; this(int n, int m) { a = A(n); b = B(m); } } struct D { A a; B b; this(int n, int m) { a(n); b(m); } } void main() { C c = C(2, 3); writefln("C:a = %d, C:b = %d", c.a.a, c.b.b); D d = D(2, 3); writefln("D:a = %d, D:b = %d", d.a.a, d.b.b); } D is essentially the same as C, but uses a(n) instead of a = A(n). Both compile, but the former has no effect on the A member. Output: C:a = 2, C:b = 3 D:a = 0, D:b = 0 The documentation should mention the correct syntax, and explain what a(n) means, or the compiler should object to that form. --
Apr 30 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2916 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|spec | CC| |bugzilla digitalmars.com 00:57:33 PST --- This is a compiler bug that a(n) is accepted, it is not a documentation problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 23 2012
http://d.puremagic.com/issues/show_bug.cgi?id=2916 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE The constructor call from an instance is invalid. *** This issue has been marked as a duplicate of issue 6036 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 23 2012