[Development] QButtonGroup: When the "right thing to do" is absolutely the wrong thing to do
Giuseppe D'Angelo
giuseppe.dangelo at kdab.com
Sat Oct 13 13:39:55 CEST 2018
Hi,
Il 13/10/2018 09:03, Boudewijn Rempt ha scritto:
> Then what else made it necessary to suddenly add lots of #include
> <QButtonGroup> lines?
I still don't get it, how is that possible?
* If we're talking about a SIC internal to Qt, that is, some other part
of Qt not building because of that change, that of course has to be
fixed as part of the change itself (or immediately after). The fact that
we're talking of a patch landed 2½ years ago makes me think this is not
the case.
* If we're talking about a SIC against user code using public APIs, the
commit does not touch any public header, so I fail to see how it could
break anything.
* If we're talking about a SIC against user code using private APIs, or
some 3rd party patches on top of Qt, they're obviously not covered by
any source compatibility promise.
While the above is true in general, note that for the _specific_ case of
breaking includes, Qt does indeed not guarantee source compatibility.
You're not supposed to rely on transitive inclusions through Qt public
headers; if you need something, you must include the right header. This
has always been the case; and this makes Qt free of add/remove/modify
include from its public headers (e.g. turn an unnecessary inclusion into
a forward declaration).
The policy of which source incompatible changes are allowed in Qt
_public_ APIs is documented in QUIP 6:
> https://code.qt.io/cgit/meta/quips.git/tree/quip-0006.rst
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: 4007 bytes
Desc: Firma crittografica S/MIME
URL: <http://lists.qt-project.org/pipermail/development/attachments/20181013/8e9b4c00/attachment.bin>
More information about the Development
mailing list