diff --git a/src/corelib/time/qtimezoneprivate_p.h b/src/corelib/time/qtimezoneprivate_p.h index 129f0343b3..b37d9995e3 100644 --- a/src/corelib/time/qtimezoneprivate_p.h +++ b/src/corelib/time/qtimezoneprivate_p.h @@ -243,6 +243,7 @@ public: QIcuTimeZonePrivate *clone() const override; + using QTimeZonePrivate::displayName; QString displayName(QTimeZone::TimeType timeType, QTimeZone::NameType nameType, const QLocale &locale) const override; QString abbreviation(qint64 atMSecsSinceEpoch) const override; @@ -353,7 +354,12 @@ private: Data dataForTzTransition(QTzTransitionTime tran) const; Data dataFromRule(QTzTransitionRule rule, qint64 msecsSinceEpoch) const; #if QT_CONFIG(icu) - mutable QSharedDataPointer m_icu; +# ifdef __cpp_lib_is_final + static_assert(std::is_final::value, + "if QIcuTimeZonePrivate isn't final, we may need to specialize " + "QExplicitlySharedDataPointer::clone() to call QTimeZonePrivate::clone()"); +# endif + mutable QExplicitlySharedDataPointer m_icu; #endif QTzTimeZoneCacheEntry cached_data; QList tranCache() const { return cached_data.m_tranTimes; }