[Development] Source break policy for function overloads

Alexander Blasche alexander.blasche at qt.io
Wed Jul 13 12:44:13 CEST 2016


Hi,

Yesterday, I stumbled over a break in QtSerialBus due to the addition of new QTimer::setInterval(..) overloads in qtbase/dev. This was introduced by 

https://codereview.qt-project.org/#/c/160889/

Unfortunately this has the undesirable side effect that lines like:

q->connect(q, &QModbusClient::timeoutChanged, element.timer.data(), &QTimer::setInterval);

do not compile anymore. The function pointer to setInterval() becomes ambiguous. While the fix (https://codereview.qt-project.org/#/c/165034/) was not difficult once you know what is happening this can hit every customer and basically reduces the source compatibility promise into absurdity.

While talking to several devs in the office I could not find a congruent opinion on this issue. Do we or even can we care? Do we have a policy?

--
Alex



More information about the Development mailing list