www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 2916] New: struct constructor use syntax undocumented

reply d-bugmail puremagic.com writes:
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
next sibling parent d-bugmail puremagic.com writes:
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
prev sibling parent d-bugmail puremagic.com writes:
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