diff --git a/csrc/polymorphic_value.h b/csrc/polymorphic_value.h index 49b42555d79..09398f3a06f 100644 --- a/csrc/polymorphic_value.h +++ b/csrc/polymorphic_value.h @@ -204,8 +204,7 @@ class StructHandle { inline StructType type() const; template - inline std::enable_if_t, Ret&> operator->*( - Ret Class::* member) const { + inline Ret& operator->*(Ret Class::* member) const { return as().*member; } diff --git a/lib/dynamic_type/src/dynamic_type/dynamic_type.h b/lib/dynamic_type/src/dynamic_type/dynamic_type.h index 13be1ab8aa4..706ce750bd0 100644 --- a/lib/dynamic_type/src/dynamic_type/dynamic_type.h +++ b/lib/dynamic_type/src/dynamic_type/dynamic_type.h @@ -8,6 +8,7 @@ #pragma once #include +#include #include #include #include @@ -247,13 +248,11 @@ struct DynamicType { template ()))> constexpr DynamicType(T&& value) : value(std::forward(value)) {} - template < - template typename Template, - typename ItemT, - typename = std::enable_if_t< - is_candidate_type> && - !std::is_same_v>> - constexpr DynamicType(Template value) + template