[Development] Updates to QUIP-6: Acceptable Source-Incompatible changes

Giuseppe D'Angelo giuseppe.dangelo at kdab.com
Sat Dec 17 19:05:33 CET 2022

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.dangelo at 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4244 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.qt-project.org/pipermail/development/attachments/20221217/9dfeab6d/attachment.bin>

More information about the Development mailing list