Fix no instance of overloaded function... on IAR (fixes #2001)

Ported from 6ed87029e2
This commit is contained in:
Benoit Blanchon
2023-12-06 17:34:42 +01:00
parent f7dcea562f
commit 4cd03fbd26
2 changed files with 3 additions and 2 deletions

View File

@ -45,7 +45,7 @@ bool copyVariant(JsonVariant dst, JsonVariantConst src);
template <> template <>
struct Converter<JsonVariant> : private detail::VariantAttorney { struct Converter<JsonVariant> : private detail::VariantAttorney {
static void toJson(JsonVariant src, JsonVariant dst) { static void toJson(JsonVariantConst src, JsonVariant dst) {
copyVariant(dst, src); copyVariant(dst, src);
} }

View File

@ -60,7 +60,8 @@ class VariantRefBase : public VariantTag {
return Converter<T>::fromJson(getVariant()); return Converter<T>::fromJson(getVariant());
} }
template <typename T> template <typename T,
typename = typename enable_if<!is_same<T, TDerived>::value>::type>
FORCE_INLINE operator T() const { FORCE_INLINE operator T() const {
return as<T>(); return as<T>();
} }