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 696413 - \ref does not work for C++11 using typedefs
\ref does not work for C++11 using typedefs
Status: RESOLVED INVALID
Product: doxygen
Classification: Other
Component: general
1.8.3.1-SVN
Other Linux
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2013-03-22 18:26 UTC by Sylwester Arabas
Modified: 2013-03-26 15:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Testcase showing that it's not a bug - all works correctly (176 bytes, text/x-c++hdr)
2013-03-26 13:36 UTC, Sylwester Arabas
Details

Description Sylwester Arabas 2013-03-22 18:26:09 UTC
Hello,

C++11 "using" declarations like

using str = std::string;

are treated by Doxygen as typedefs.

However, unlike typedefs, it seems impossible to reference them using \ref :(
Doxygen warns that "unable to resolve reference to `...' for \ref command"

HTH,
Sylwester
Comment 1 Kevin McBride 2013-03-26 13:15:15 UTC
Thank you for reporting this bug.

FYI - I have been discussing this problem with other developers on the doxygen-develop mailing list.  This declaration (which I like to refer to as an extension) was found in a drafted C++ standard document, dated 2012.

While we wait for Dimitri to determine what should happen to this bug report, could you upload an example with doxyfile in a tar and zip so that we can more accurately reproduce the bug?  Thanks.
Comment 2 Sylwester Arabas 2013-03-26 13:35:52 UTC
Hi,

I'm very sorry. It wasn't a bug - the code lacked documentation for a namespace which contained the "using" statement. Anyhow, I'm attaching a testcase showing that it works correctly.

BTW, Bjarne calls it "template alias" and includes it in his C++11 FAQ referring to the C++11 standard: http://www.stroustrup.com/C++11FAQ.html#template-alias 
Is it then an extension?

Thanks,
Sylwester
Comment 3 Sylwester Arabas 2013-03-26 13:36:38 UTC
Created attachment 239867 [details]
Testcase showing that it's not a bug - all works correctly
Comment 4 Kevin McBride 2013-03-26 15:34:05 UTC
I like to call them extensions as they are a new way to write code in C++.  Also, Visual Studio.net does not yet have support for this extension.  Partial support for C++11 is available, but the template alias is not yet supported in Visual Studio.net.