forked from TartanLlama/expected
Fix VS2015 constexpr error
This commit is contained in:
@ -557,10 +557,10 @@ template <class E> struct expected_storage_base<void, E, false, true> {
|
|||||||
|
|
||||||
// `T` is `void`, `E` is not trivially-destructible
|
// `T` is `void`, `E` is not trivially-destructible
|
||||||
template <class E> struct expected_storage_base<void, E, false, false> {
|
template <class E> struct expected_storage_base<void, E, false, false> {
|
||||||
constexpr expected_storage_base() : m_val(), m_has_val(true) {}
|
constexpr expected_storage_base() : m_dummy(), m_has_val(true) {}
|
||||||
constexpr expected_storage_base(no_init_t) : m_no_init(), m_has_val(false) {}
|
constexpr expected_storage_base(no_init_t) : m_dummy(), m_has_val(false) {}
|
||||||
|
|
||||||
constexpr expected_storage_base(in_place_t) : m_val(), m_has_val(true) {}
|
constexpr expected_storage_base(in_place_t) : m_dummy(), m_has_val(true) {}
|
||||||
|
|
||||||
template <class... Args,
|
template <class... Args,
|
||||||
detail::enable_if_t<std::is_constructible<E, Args &&...>::value> * =
|
detail::enable_if_t<std::is_constructible<E, Args &&...>::value> * =
|
||||||
@ -582,10 +582,8 @@ template <class E> struct expected_storage_base<void, E, false, false> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct dummy {};
|
|
||||||
union {
|
union {
|
||||||
char m_no_init;
|
char m_dummy;
|
||||||
dummy m_val;
|
|
||||||
unexpected<E> m_unexpect;
|
unexpected<E> m_unexpect;
|
||||||
};
|
};
|
||||||
bool m_has_val;
|
bool m_has_val;
|
||||||
|
Reference in New Issue
Block a user