[Development] Source break policy for function overloads

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


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


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?


More information about the Development mailing list