Marc Mutz wrote: > On Wednesday July 18 2012, joao.abeca...@nokia.com wrote: >> I think it would be feasible to do a binary-only break somewhere >> around the 5.2 timeframe (say, ~12 months) where we address this. >> Technically, this would be Qt 6, but user porting effort would be >> reduced to a recompile. The value of having a long lived (5 years?) >> binary compatible 5.x series is (IMO) low as there are quite often >> other reasons to recompile the stack. > > We don't even need to break binary compatibility. We could use inline > namespaces to let new code see the new containers while old code uses > the old ones. That will exclude non-C++11 compilers from seeing the > more efficient implementations, or else from the BC guarantee. Do we > care?
It's a binary break because containers and their memory layout are part of function signatures in the ABI. We also don't want a price to be paid at the interface: you were calling a function and now just the function call has an additional cost of deep-copying the container, potentially breaking implicit sharing that was previously assumed to occur. This would be a silent change. João _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development