Fix VS2015 constexpr error

This commit is contained in:
Simon Brand
2018-08-30 08:55:45 +01:00
parent c012dae928
commit adfdcde7cd

View File

@ -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;