Thread overview
[Issue 9695] New: Ddoc should emit enum member initializers
Mar 12, 2013
Andrej Mitrovic
Mar 20, 2013
Andrej Mitrovic
Mar 22, 2013
Walter Bright
Mar 22, 2013
Andrej Mitrovic
Mar 22, 2013
Andrej Mitrovic
March 12, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9695

           Summary: Ddoc should emit enum member initializers
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: ddoc
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: andrej.mitrovich@gmail.com


--- Comment #0 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-03-11 21:19:11 PDT ---
Example:

module test;
/** */
enum E : char
{
    /** */
    one = '1',

    /** */
    two = '2',
}

$ dmd -D -o- test.d

The initializers are not present, but for documentation purposes they really should be.

The question is whether to do it for all initializers, or only for user-provided initializers (if that's even possible to do at the ddoc generation stage).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 20, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9695


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull
         AssignedTo|nobody@puremagic.com        |andrej.mitrovich@gmail.com


--- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-03-19 21:55:25 PDT ---
https://github.com/D-Programming-Language/dmd/pull/1771

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 22, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9695


Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com


--- Comment #2 from Walter Bright <bugzilla@digitalmars.com> 2013-03-21 22:23:08 PDT ---
I don't see the rationale for why the initializers must be present in Ddoc. I think that violates the principle of hiding implementation details.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 22, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9695



--- Comment #3 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-03-22 15:10:45 PDT ---
(In reply to comment #2)
> I don't see the rationale for why the initializers must be present in Ddoc. I think that violates the principle of hiding implementation details.

This only applies to documented members. Anyway I'll bring this up in the newsgroups to see if it's wanted by other people.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 22, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9695



--- Comment #4 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-03-22 15:17:40 PDT ---
(In reply to comment #2)
> I don't see the rationale for why the initializers must be present in Ddoc. I think that violates the principle of hiding implementation details.

I've got an idea: How about we emit the initializer inside a new macro (say MEMBERINIT), which by default is set to output nothing.

Then a user could override this in his own .ddoc file to emit the initializer.

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