diff --git a/crates/cxx-qt-gen/include/cxxqt_thread.h b/crates/cxx-qt-gen/include/cxxqt_thread.h index 585097219..d13e9feb0 100644 --- a/crates/cxx-qt-gen/include/cxxqt_thread.h +++ b/crates/cxx-qt-gen/include/cxxqt_thread.h @@ -118,7 +118,13 @@ cxxQtThreadQueue(const CxxQtThread& cxxQtThread, } // namespace cxxqtlib1 } // namespace rust +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + template -struct rust::IsRelocatable<::rust::cxxqtlib1::CxxQtThread> : ::std::true_type +struct IsRelocatable<::rust::cxxqtlib1::CxxQtThread> : ::std::true_type { }; + +} // namespace rust diff --git a/crates/cxx-qt-lib-headers/include/core/qbytearray.h b/crates/cxx-qt-lib-headers/include/core/qbytearray.h index 7f3de45ba..71e93e249 100644 --- a/crates/cxx-qt-lib-headers/include/core/qbytearray.h +++ b/crates/cxx-qt-lib-headers/include/core/qbytearray.h @@ -12,11 +12,17 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + template<> -struct rust::IsRelocatable : ::std::true_type +struct IsRelocatable : ::std::true_type { }; +} // namespace rust + namespace rust { namespace cxxqtlib1 { diff --git a/crates/cxx-qt-lib-headers/include/core/qdatetime.h b/crates/cxx-qt-lib-headers/include/core/qdatetime.h index 9be0f7eff..311ef5e0d 100644 --- a/crates/cxx-qt-lib-headers/include/core/qdatetime.h +++ b/crates/cxx-qt-lib-headers/include/core/qdatetime.h @@ -15,11 +15,17 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + template<> -struct rust::IsRelocatable : ::std::true_type +struct IsRelocatable : ::std::true_type { }; +} // namespace rust + namespace rust { namespace cxxqtlib1 { diff --git a/crates/cxx-qt-lib-headers/include/core/qhash.h b/crates/cxx-qt-lib-headers/include/core/qhash.h index fc36e970d..dabb51807 100644 --- a/crates/cxx-qt-lib-headers/include/core/qhash.h +++ b/crates/cxx-qt-lib-headers/include/core/qhash.h @@ -16,12 +16,18 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + // This has static asserts in the cpp file to ensure this is valid. template -struct rust::IsRelocatable> : ::std::true_type +struct IsRelocatable> : ::std::true_type { }; +} // namespace rust + namespace rust { namespace cxxqtlib1 { namespace qhash { diff --git a/crates/cxx-qt-lib-headers/include/core/qlist.h b/crates/cxx-qt-lib-headers/include/core/qlist.h index d1338c229..5c0f0579b 100644 --- a/crates/cxx-qt-lib-headers/include/core/qlist.h +++ b/crates/cxx-qt-lib-headers/include/core/qlist.h @@ -38,11 +38,17 @@ #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) #include "qlist_qvector.h" #else +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + // This has static asserts in the cpp file to ensure this is valid. template -struct rust::IsRelocatable> : ::std::true_type +struct IsRelocatable> : ::std::true_type { }; + +} // namespace rust #endif namespace rust { diff --git a/crates/cxx-qt-lib-headers/include/core/qlist_qvector.h b/crates/cxx-qt-lib-headers/include/core/qlist_qvector.h index d8417de19..9bfb2707b 100644 --- a/crates/cxx-qt-lib-headers/include/core/qlist_qvector.h +++ b/crates/cxx-qt-lib-headers/include/core/qlist_qvector.h @@ -16,10 +16,16 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + // This has static asserts in the cpp file to ensure this is valid. template -struct rust::IsRelocatable> : ::std::true_type +struct IsRelocatable> : ::std::true_type { }; +} // namespace rust + #endif diff --git a/crates/cxx-qt-lib-headers/include/core/qmap.h b/crates/cxx-qt-lib-headers/include/core/qmap.h index 0ab21f2ad..8b7c82fa5 100644 --- a/crates/cxx-qt-lib-headers/include/core/qmap.h +++ b/crates/cxx-qt-lib-headers/include/core/qmap.h @@ -13,12 +13,18 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + // This has static asserts in the cpp file to ensure this is valid. template -struct rust::IsRelocatable> : ::std::true_type +struct IsRelocatable> : ::std::true_type { }; +} // namespace rust + namespace rust { namespace cxxqtlib1 { namespace qmap { diff --git a/crates/cxx-qt-lib-headers/include/core/qmetaobjectconnection.h b/crates/cxx-qt-lib-headers/include/core/qmetaobjectconnection.h index 39d1d5b26..cb406378d 100644 --- a/crates/cxx-qt-lib-headers/include/core/qmetaobjectconnection.h +++ b/crates/cxx-qt-lib-headers/include/core/qmetaobjectconnection.h @@ -12,11 +12,17 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + template<> -struct rust::IsRelocatable<::QMetaObject::Connection> : ::std::true_type +struct IsRelocatable<::QMetaObject::Connection> : ::std::true_type { }; +} // namespace rust + namespace rust { namespace cxxqtlib1 { diff --git a/crates/cxx-qt-lib-headers/include/core/qpersistentmodelindex.h b/crates/cxx-qt-lib-headers/include/core/qpersistentmodelindex.h index 5dea6a498..55093077b 100644 --- a/crates/cxx-qt-lib-headers/include/core/qpersistentmodelindex.h +++ b/crates/cxx-qt-lib-headers/include/core/qpersistentmodelindex.h @@ -10,8 +10,14 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + // This has static asserts in the cpp file to ensure this is valid. template<> -struct rust::IsRelocatable : ::std::true_type +struct IsRelocatable : ::std::true_type { }; + +} // namespace rust diff --git a/crates/cxx-qt-lib-headers/include/core/qset.h b/crates/cxx-qt-lib-headers/include/core/qset.h index 030a0f9ba..2cd6d3656 100644 --- a/crates/cxx-qt-lib-headers/include/core/qset.h +++ b/crates/cxx-qt-lib-headers/include/core/qset.h @@ -20,12 +20,18 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + // This has static asserts in the cpp file to ensure this is valid. template -struct rust::IsRelocatable> : ::std::true_type +struct IsRelocatable> : ::std::true_type { }; +} // namespace rust + namespace rust { namespace cxxqtlib1 { namespace qset { diff --git a/crates/cxx-qt-lib-headers/include/core/qstring.h b/crates/cxx-qt-lib-headers/include/core/qstring.h index 6736dff71..c462afa2d 100644 --- a/crates/cxx-qt-lib-headers/include/core/qstring.h +++ b/crates/cxx-qt-lib-headers/include/core/qstring.h @@ -14,11 +14,17 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + template<> -struct rust::IsRelocatable : ::std::true_type +struct IsRelocatable : ::std::true_type { }; +} // namespace rust + namespace rust { namespace cxxqtlib1 { diff --git a/crates/cxx-qt-lib-headers/include/core/qstringlist.h b/crates/cxx-qt-lib-headers/include/core/qstringlist.h index 5c11edf8e..c0a26a455 100644 --- a/crates/cxx-qt-lib-headers/include/core/qstringlist.h +++ b/crates/cxx-qt-lib-headers/include/core/qstringlist.h @@ -12,11 +12,17 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + template<> -struct rust::IsRelocatable : ::std::true_type +struct IsRelocatable : ::std::true_type { }; +} // namespace rust + namespace rust { namespace cxxqtlib1 { diff --git a/crates/cxx-qt-lib-headers/include/core/qurl.h b/crates/cxx-qt-lib-headers/include/core/qurl.h index 32a06c91a..4b0047800 100644 --- a/crates/cxx-qt-lib-headers/include/core/qurl.h +++ b/crates/cxx-qt-lib-headers/include/core/qurl.h @@ -14,11 +14,17 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + template<> -struct rust::IsRelocatable : ::std::true_type +struct IsRelocatable : ::std::true_type { }; +} // namespace rust + namespace rust { namespace cxxqtlib1 { diff --git a/crates/cxx-qt-lib-headers/include/core/qvariant.h b/crates/cxx-qt-lib-headers/include/core/qvariant.h index ba7f9f1d1..c08100ab9 100644 --- a/crates/cxx-qt-lib-headers/include/core/qvariant.h +++ b/crates/cxx-qt-lib-headers/include/core/qvariant.h @@ -33,11 +33,17 @@ #include "rust/cxx.h" +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + template<> -struct rust::IsRelocatable : ::std::true_type +struct IsRelocatable : ::std::true_type { }; +} // namespace rust + namespace rust { namespace cxxqtlib1 { namespace qvariant { diff --git a/crates/cxx-qt-lib-headers/include/core/qvector.h b/crates/cxx-qt-lib-headers/include/core/qvector.h index f3303f893..cf0df64f3 100644 --- a/crates/cxx-qt-lib-headers/include/core/qvector.h +++ b/crates/cxx-qt-lib-headers/include/core/qvector.h @@ -38,11 +38,17 @@ #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) #include "qlist_qvector.h" #else +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + // This has static asserts in the cpp file to ensure this is valid. template -struct rust::IsRelocatable> : ::std::true_type +struct IsRelocatable> : ::std::true_type { }; + +} // namespace rust #endif namespace rust { diff --git a/crates/cxx-qt-lib-headers/include/gui/qcolor.h b/crates/cxx-qt-lib-headers/include/gui/qcolor.h index e39a5f053..1e8b44f2a 100644 --- a/crates/cxx-qt-lib-headers/include/gui/qcolor.h +++ b/crates/cxx-qt-lib-headers/include/gui/qcolor.h @@ -18,10 +18,16 @@ // QColor still had copy & move constructors in Qt 5 but they were basically // trivial. #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) +// Define namespace otherwise we hit a GCC bug +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 +namespace rust { + template<> -struct rust::IsRelocatable : ::std::true_type +struct IsRelocatable : ::std::true_type { }; + +} // namespace rust #endif namespace rust {