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 <memory>
#include <initializer_list>
#include <type_traits>
namespace psemek::react
{
@ -66,7 +67,7 @@ namespace psemek::react
value(value const &) = 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)
: node_(std::make_shared<detail::node<T>>())
{