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

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to