On Tuesday 15 of July 2014 11:59:03 Olivier Goffart wrote: > > 1.3 Should we try to support a user's type conversions out of the > >box? > > Currently a user needs to manually register a conversion function > > > > so Qt can know it and use it. For certain types we can do much better, > > > > because we can automatically convert some types. For example: > > QVector<char> -> QLinkedList<int> > > QList<Foo> -> QVector<Foo> > > QPointer<Foo> -> QObject* > > QPointer<Foo> -> void* > > QSharedDataPointer<Foo> -> bool > > MyQObject* -> QPointer<MyQObject> > > Currently we are not doing it for one reason which is behavior > > > > compatibility. What if a user already defined a conversion that we want to > > add? It could happen because the conversion was not available in a > > previous > > Qt version. The problem is that the new conversion function may behave in > > a > > different way, especially in edge cases and because of the lack of > > perfection mentioned in 1.2. We need to pick only one function. That could > > be the Qt version, but then we risk that an existing code will not work > > anymore. Are we willing to accept that? > > > > I believe that we should document the problem, and allow the > > > > conversions. > > I think we could try to automatically do conversion when we know how to do > it. And if there is an user defined conversion, it overrides the automatic > one.
We could implement overriding, but we would not control which conversion is registered first / last. Moreover it would mean that a conversion could change at any point. I think it would be a bit too nondeterministic. Cheers, Jędrek _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
