On Thu, Aug 06, 2020 at 01:25:30PM +0200, Francesc Martinez wrote: > Hi, > I'm having some troubles with implicit conversions every time I have to > build my plugin ([1]https://github.com/francescmm/GitQlientPlugin) but > until now I didn't bother to see why. I've been just fixing the issues > (mainly casts to QString). > Looking for the reasons I've noticed that there are some defines in > the qtcreator.pri. > I'm pretty sure that there is a reason and I don't mind at all if I > have to fix my issues. What I wonder is if you could explain to me or > document somewhere why they are there so I can check if I need them as > well in my app. > I guess that the following two are present to avoid encoding problems:
These prevent some otherwise (too) easy convesions, right. > * QT_NO_CAST_TO_ASCII > * QT_RESTRICTED_CAST_FROM_ASCII QT_RESTRICTED_CAST_FROM_ASCII is a weaker form of QT_NO_CAST_FROM_ASCII, effectively allowing arrays of chars (but not pointers) to be converted to QString. > But I really don't know the reason for the following ones: > > > * QT_NO_JAVA_STYLE_ITERATORS This disables Java-style iterators for Qt containers (.hasNext()/.next()) which are not overly useful nowadays and will be scrapped in Qt 6 anyways. > * QT_USE_FAST_OPERATOR_PLUS > * QT_USE_FAST_CONCATENATION That's a kind of archaic version of QT_USE_QSTRINGBUILDER. > In addition to those, I wonder why "QT_USE_QSTRINGBUILDER" is not added in > that > group. Because it's covered by above. But now that you mention it, maybe changing that to use QT_USE_QSTRINGBUILDER would be in order... Andre' _______________________________________________ Qt-creator mailing list Qt-creator@qt-project.org https://lists.qt-project.org/listinfo/qt-creator