[Development] Reverting the QRegExp change?

Thiago Macieira thiago.macieira at intel.com
Wed May 2 11:57:48 CEST 2012


On quarta-feira, 2 de maio de 2012 10.21.36, Giuseppe D'Angelo wrote:
> In a related patch I suggested something like
> 
> int QRegExp::foo() const
> {
>   QRegExp copy = *this;
>   return copy.foo();
> }
> 
> which although being source compatible, is behaviour incompatible
> (QRegExp users do expect const methods to change the object -- it's
> even documented!).

Indeed, so I think this is actually worse of the three options.

Reverting completely means we accept that QRegExp is fundamentally flawed and 
people should port away from it immediately. I'd even tack a notice to the 
class saying that its const methods are not thread-safe.

Adding Olivier's patch means we do a little work to improve code in an 
otherwise Done class, with the ability to keep the old code compiling if one 
so wishes (with the same bugs, of course).

Adding yours would mean silently changing behaviour. That's far worse.

> So it's a matter of deciding what's the least worst option.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
     Intel Sweden AB - Registration Number: 556189-6027
     Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120502/dd84a37f/attachment.sig>


More information about the Development mailing list