This will be documented in the qdoc manual as well, see 
https://doc-snapshots.qt.io/qt6-dev/13-qdoc-commands-topics.html#fn-command

In the generated class reference, the hidden friend will appear as a 'related 
non-member'.

\topi
________________________________
From: Development <[email protected]> on behalf of Volker 
Hilsheimer <[email protected]>
Sent: Monday, July 25, 2022 11:28:58 PM
To: Macieira, Thiago <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: [Development] qdoc help needed: it isn't seeing a function that is 
clearly there



> On 25 Jul 2022, at 21:27, Thiago Macieira <[email protected]> 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

_______________________________________________
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development
_______________________________________________
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to