template <
class T2 = T,
typename = typename std::enable_if<
- !isFuture<typename std::decay<T2>::type>::value>::type>
+ !isFuture<typename std::decay<T2>::type>::value &&
+ !isSemiFuture<typename std::decay<T2>::type>::value>::type>
/* implicit */ SemiFuture(T2&& val) : Base(std::forward<T2>(val)) {}
template <class T2 = T>
template <
class T2 = T,
typename = typename std::enable_if<
- !isFuture<typename std::decay<T2>::type>::value>::type>
+ !isFuture<typename std::decay<T2>::type>::value &&
+ !isSemiFuture<typename std::decay<T2>::type>::value>::type>
/* implicit */ Future(T2&& val) : Base(std::forward<T2>(val)) {}
template <class T2 = T>