From f98a7a1a8d54ea7a2c2e4e80baa067b40a03b171 Mon Sep 17 00:00:00 2001 From: Nicolas Fella Date: Thu, 23 Jun 2022 17:32:03 +0200 Subject: [PATCH] [qt] Rename Component::requires to avoid clash with C++20 In C++20 requires is a reserved keyword This results in a build failure when a C++20 project includes component.h To avoid the issue the method gets a new name (requirements). The old method is marked as deprecated and hidden when building in C++20 mode Fixes #342 --- qt/component.cpp | 7 +++++++ qt/component.h | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/qt/component.cpp b/qt/component.cpp index 4897df43..8942a39b 100644 --- a/qt/component.cpp +++ b/qt/component.cpp @@ -361,7 +361,14 @@ void Component::addReplaces(const QString &cid) as_component_add_replaces(m_cpt, qPrintable(cid)); } +#if __cplusplus < 202002L QList Component::requires() const +{ + return requirements(); +} +#endif + +QList Component::requirements() const { QList res; diff --git a/qt/component.h b/qt/component.h index 9014dcbd..bcd14464 100644 --- a/qt/component.h +++ b/qt/component.h @@ -199,7 +199,10 @@ class APPSTREAMQT_EXPORT Component { QStringList replaces() const; void addReplaces(const QString& cid); - QList requires() const; +#if __cplusplus < 202002L + Q_DECL_DEPRECATED QList requires() const; +#endif + QList requirements() const; QList recommends() const; QList supports() const; void addRelation(const AppStream::Relation &relation);