------=_Part_3297_16519884.1137442410412 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi, I just commited the first patch (the part without explicit constructor). It seems I have a quite good feed back, for making the shared pointer constructor explicit. To add a little more to arguments, TT also made the QSharedDataPointer constructor explicit, so there must be good reasons to do so ;) So if someone as a real stopper reason to don't make the constructor explicit, say it before the next snapshot (should be on monday next week). After the snapshoot I'll commit only the simple pointer convertions (implicit cast from null, and broken constructor) of my patch. I will let methods changes left to their maintainers (implicit cast of pointer returning). To explicit it, I will left conversion of: QShared bar() { Foo *foo =3D new Foo(); return foo; } Because it can be converted as: QShared bar() { QShared foo(new Foo()); return foo; } or QShared bar() { Foo *foo =3D new Foo(); return QShared(foo); } So I let make the final decision to the maintainers. Cheers, Michel ------=_Part_3297_16519884.1137442410412 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi,
I just commited the first patch (the part without explicit construct= or).

It seems I have a quite good feed back, for making the shared p= ointer constructor explicit.
To add a little more to arguments, TT also = made the QSharedDataPointer constructor explicit, so there must be good rea= sons to do so ;)
So if someone as a real stopper reason to don't make the constructor ex= plicit, say it before the next snapshot (should be on monday next week). Af= ter the snapshoot I'll commit only the simple pointer convertions (implicit= cast from null, and broken constructor) of my patch. I will let methods c= hanges left to their maintainers (implicit cast of pointer returning).

To explicit it, I will left conversion of:
QShared<Foo> bar() {
   Foo *foo =3D new Foo();
   return foo;
}

Because it can be converted as:
QShared<Foo> bar() {
   QShared<Foo> foo(new Foo());
   return foo;
}

or
QShared<Foo> bar() {
   Foo *foo =3D new Foo();
   return QShared<Foo>(foo);
}

So I let make the final decision to the maintainers.

Cheers,
    Michel

------=_Part_3297_16519884.1137442410412--