[Interest] can't dump QStringList with qDebug()

Hamish Moffatt hamish at risingsoftware.com
Tue Mar 7 11:03:19 CET 2023


On 7/3/23 20:11, Kai Köhne wrote:
> Hi,
>
> This looks like a compiler issue to me.
>>      const auto connections = QSqlDatabase::connectionNames();
>>      qDebug() << "Closing open connections:" << connections;
>>
>> claiming that
>> ../../../src/server/server_database.cpp:691:45: error: invalid operands to binary expression ('QDebug' and>
>> 'const QList<QString>')
> I think this is the place where it goes wrong:
>
>> ../../../../Qt6.4.2/6.4.2/gcc_64/include/QtCore/qdebug.h:217:53: note: candidate template ignored: requirement 'std::conjunction_v<std::disjunction<std::is_base_of<QList<QString>, QString>, QTypeTraits::has_ostream_operator<QDebug, QString, void>>>' was not satisfied [with T = QString]
>> inline QDebugIfHasDebugStreamContainer<QList<T>, T> operator<<(QDebug debug, const QList<T> &vec)
>>                                                      ^
> Anyhow, I couldn't reproduce this in a minimal example (and apparently you didn't manage either?). At minimum we need the exact compiler + compiler options passed on command line.


It's happening in both Visual C++ and gcc 10, but on further 
investigation, only in one .cpp file; the same code in other files works 
fine. I'll keep investigating.


thanks

Hamish



More information about the Interest mailing list