diff --git a/src/Magnum/Math/Dual.h b/src/Magnum/Math/Dual.h index 0e6b0c311..68a96af6c 100644 --- a/src/Magnum/Math/Dual.h +++ b/src/Magnum/Math/Dual.h @@ -72,7 +72,7 @@ template class Dual { constexpr explicit Dual(ZeroInitT) noexcept; #else /* MSVC 2015 can't handle {} instead of ::value */ - template::value>::type> constexpr explicit Dual(ZeroInitT) noexcept: _real{}, _dual{} {} + template::value && std::is_trivial::value>::type> constexpr explicit Dual(ZeroInitT) noexcept: _real{}, _dual{} {} template::value>::type> constexpr explicit Dual(ZeroInitT) noexcept: _real{ZeroInit}, _dual{ZeroInit} {} #endif @@ -81,7 +81,7 @@ template class Dual { explicit Dual(NoInitT) noexcept; #else /* MSVC 2015 can't handle {} instead of ::value */ - template::value>::type> explicit Dual(NoInitT) noexcept {} + template::value && std::is_trivial::value>::type> explicit Dual(NoInitT) noexcept {} template::value>::type> explicit Dual(NoInitT) noexcept: _real{NoInit}, _dual{NoInit} {} #endif