Fix react::value initialization from react::source

This commit is contained in:
Nikita Lisitsa 2023-04-19 19:00:43 +03:00
parent a1f06a57ca
commit c3e8068668

View file

@ -5,6 +5,7 @@
#include <optional> #include <optional>
#include <memory> #include <memory>
#include <initializer_list> #include <initializer_list>
#include <type_traits>
namespace psemek::react namespace psemek::react
{ {
@ -66,7 +67,7 @@ namespace psemek::react
value(value const &) = default; value(value const &) = default;
value(value && other) = default; value(value && other) = default;
template <typename ... Args, typename = std::enable_if_t<std::is_constructible_v<T, Args...>>> template <typename ... Args, typename = std::enable_if_t<std::is_constructible_v<T, Args...> && ((sizeof...(Args) != 1) || (!std::is_base_of_v<value<T>, std::decay_t<Args>> && ...))>>
value(Args && ... args) value(Args && ... args)
: node_(std::make_shared<detail::node<T>>()) : node_(std::make_shared<detail::node<T>>())
{ {