GNOME Bugzilla – Bug 622471
Typedef in Namespace Not Recognized Despite Valid Using Specifier
Last modified: 2010-10-09 08:20:09 UTC
Below is valid C++ code that was correctly processed by doxygen for versions up to 1.5.7.1. However, from every version 1.5.8 on (we tested even 1.7.0 too), doxygen fails to produce documentation for the action() method because the UInt8 is not recognized as part of the a namespace even though 'using a' was correctly used prior to the action() definition. We believe this to be a significant regression issue that would greatly affect those that make significant use of typedefs in namespaces for large projects. If the cause of the problem is understood, any feedback would be appreciated as we would like to take advantage of any resolution even before the fix finds its way into a future release. Thanks in advance. namespace a { typedef unsigned char UInt8; } namespace b { class Example { public: Example() {}; virtual ~Example() {}; bool action(a::UInt8 input); }; } /// \class b::Example /// Example class using namespace b; using namespace a; // action (public) /// Performs an action. /// \param input The input /// \return True if successful and false otherwise // bool Example::action(UInt8 input) { return false; }
Confirmed. Should be fixed in the next subversion update.
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.7.1. Please verify if this is indeed the case. Reopen the bug if you think it is not fixed and please include any additional information that you think can be relevant.
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.7.2. Please verify if this is indeed the case. Reopen the bug if you think it is not fixed and please include any additional information that you think can be relevant.