After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 173043 - Doxygen doesn't understand D template syntax
Doxygen doesn't understand D template syntax
Status: RESOLVED OBSOLETE
Product: doxygen
Classification: Other
Component: build
1.4.x
Other Windows
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
[moved_to_github]
Depends on:
Blocks: 173045
 
 
Reported: 2005-04-08 10:33 UTC by Stewart Gordon
Modified: 2018-07-30 10:27 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Stewart Gordon 2005-04-08 10:33:24 UTC
Version details: 1.4.2
Distribution/Version: 98SE

D has a very different template syntax from C++.  It takes the form

    template Name(ParameterList) { ... }

To instantiate a template, one uses the syntax

    Name!(ArgumentList)

Doxygen doesn't understand this feature of D at present.  Consequently template
contents are not documented, and attempts to declare or use a template come out
a bit of a mess.

Moreover, templates in D are not classes or functions.  Rather, they are scoping
units that define any number of classes, functions or other entities within
them.  Hence Doxygen needs to treat the template as an entity in its own right.

Steps to reproduce:
1. Save the following lines as a D file:

    template Qwert(Yuiop) {
        class Asdfg {
            Yuiop hjkl;
        }
    }

    Qwert!(int).Asdfg zxcvb;

2. Run Doxygen.


Actual results:
HTML output looks like this (underscores denote links):

    Functions
    template _Qwert_ (Yuiop)
             _Qwert_ (int).Asdfg zxcvb
    ----
    Function Documentation

    Qwert( int )

    template Qwert( Yuiop )


Expected results:
The template Qwert should be listed under a heading 'Templates', linking to a
page documenting the template's contents.  This page would be similar to a
file/namespace/package page, with the 'Detailed Description' being the content
of any documentation comment applied to the template.

Similarly, the template instantiation syntax needs to be parsed appropriately.
Comment 1 André Klapper 2018-07-30 10:27:41 UTC
As discussed in https://github.com/doxygen/doxygen/pull/734 , Doxygen has moved its issue tracking to 

   https://github.com/doxygen/doxygen/issues

All Doxygen tickets in GNOME Bugzilla have been migrated to Github. You can subscribe and participate in the new ticket in Github. You can find the corresponding Github ticket by searching for its Bugzilla ID (number) in Github.

Hence I am closing this GNOME Bugzilla ticket.
Please use the corresponding ticket in Github instead. Thanks a lot!