[Development] qdoc help needed: it isn't seeing a function that is clearly there

Volker Hilsheimer volker.hilsheimer at qt.io
Mon Jul 25 22:28:58 CEST 2022



> On 25 Jul 2022, at 21:27, Thiago Macieira <thiago.macieira at intel.com> wrote:
> 
> In https://codereview.qt-project.org/c/qt/qtbase/+/422690
> Build: 
> https://testresults.qt.io/coin/integration/qt/qtbase/tasks/1658767511
> 
> /home/qt/work/qt/qtbase/src/corelib/kernel/qmetatype.cpp:3032: (qdoc) warning: 
> clang couldn't find function when parsing \fn int qRegisterMetaType(QMetaType 
> meta)
> 
> The function exists because it's unit-tested and compiled. Why can't qdoc see 
> it? It's a hidden friend, but that's valid C++ and clang should see it.

Hi Thiago,

In clang’s AST, hidden friends are placed like class member functions, so they have to be documented like class members, e.g.

\fn int QMetaType::qRegisterMetaType(QMetaType meta)

This is misleading in this case, and outright invalid C++ in case of operators as hidden friends, but it works with the latter, and I expect it will make it work with this as well.


Volker



More information about the Development mailing list