Thread overview
[Issue 5954] New: enum structs with ctor
[Issue 5954] [CTFE] enum structs with ctor
May 24, 2011
kennytm@gmail.com
May 31, 2011
Don
Jun 17, 2011
kennytm@gmail.com
May 07, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5954

           Summary: enum structs with ctor
           Product: D
           Version: D2
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Keywords: rejects-valid
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: bearophile_hugs@eml.cc


--- Comment #0 from bearophile_hugs@eml.cc 2011-05-07 16:31:20 PDT ---
D2 code:


struct Foo {
    int x;
    this(int xx) {
        this.x = xx;
    }
}
void main() {
    enum f = Foo(10);
}


DMD 2.053beta is not able to compile it, and shows the errors:

test.d(8): Error: variable __ctmp3 cannot be read at compile time
test.d(8): Error: cannot evaluate __ctmp3.this(10) at compile time

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 24, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5954


kennytm@gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kennytm@gmail.com
         OS/Version|Windows                     |All


--- Comment #1 from kennytm@gmail.com 2011-05-24 08:12:57 PDT ---
A workaround is to construct it in a delegate.

-----------------------------------
struct Foo {
    int x;
    this(int xx) {
        this.x = xx * 6;
    }
}
void main() {
    enum f = { return Foo(10); }();
    static assert(f.x == 60);
}
-----------------------------------

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 31, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5954


Don <clugdbug@yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |clugdbug@yahoo.com.au
         Resolution|                            |FIXED


--- Comment #2 from Don <clugdbug@yahoo.com.au> 2011-05-30 16:55:58 PDT ---
https://github.com/D-Programming-Language/dmd/commit/068ae6ec8f06060f52c6f0ae860476a7e10cb464

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 17, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5954


kennytm@gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |johann.macdonagh@gmail.com


--- Comment #3 from kennytm@gmail.com 2011-06-17 00:29:38 PDT ---
*** Issue 6168 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------