On 16/12/2022 22:49, Marc Mutz via Development wrote:
The recent episode with qVersion() moving from qglobal.h to qlibraryinfo.h, a header not included in qglobal.h, has shown that QUIP-6 SiC A are too broad a category. As per QUIP-6, I'm proposing to add a new entry to the table that bans moving definitions from one header to another if the headers don't include each other. Optionally, we may allow this for classes, because the <QClass> header will continue to work as before.
I would have never interpreted the SiC A rules as giving us permission to overhaul the content of our headers, because such a thing "can be worked around in user code without introducing Qt version checks". Sure, just `#include <QtCore>`, you'll never have a problem!
Moving declarations from <QFoo> to <QBar> should be unacceptable if it breaks users that only included <QFoo>, unless we've always documented otherwise (but even then, I'm not too keen on the "gratuitous" breakage...). If this needs to be spelled out in the QUIP, then sure, I didn't expect such a thing to be even remotely contentious.
My 2 c, -- Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Senior Software Engineer KDAB (France) S.A.S., a KDAB Group company Tel. France +33 (0)4 90 84 08 53, http://www.kdab.com KDAB - The Qt, C++ and OpenGL Experts
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development