[Development] Updates to QUIP-6: Acceptable Source-Incompatible changes
Marc Mutz
marc.mutz at qt.io
Fri Dec 16 22:49:51 CET 2022
Hi,
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'm also proposing to add a sentence that SiC B's can be made acceptable
if they're hidden behind opt-in macros. This just spells out existing
practice, to wit QT_NO_FOO, QT_CONFIG(foo), or QT_DEPRECATED_SINCE.
The changes, in order:
- https://codereview.qt-project.org/c/meta/quips/+/449444
(editorial, numbers the rows in the table for easier reference)
- https://codereview.qt-project.org/c/meta/quips/+/449445
(mentions opt-in mechanisms)
- https://codereview.qt-project.org/c/meta/quips/+/449446
(bans moving definitions from one header to another)
- https://codereview.qt-project.org/c/meta/quips/+/449447
(exception for class types)
Please discuss!
Thanks,
Marc
--
Marc Mutz <marc.mutz at qt.io>
Principal Software Engineer
The Qt Company
Erich-Thilo-Str. 10 12489
Berlin, Germany
www.qt.io
Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen
Sitz der Gesellschaft: Berlin,
Registergericht: Amtsgericht Charlottenburg,
HRB 144331 B
More information about the Development
mailing list