From 3d32d5d833a9e0ece9d62aa205c817454a9ad117 Mon Sep 17 00:00:00 2001 From: Jonas Hoppe <162709928+czjhoppe@users.noreply.github.com> Date: Fri, 30 Aug 2024 13:27:37 +0200 Subject: [PATCH] [msvc][fix] internal compiler error for requires expression. "simplify" with extra concept --- src/core/include/mp-units/ostream.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/include/mp-units/ostream.h b/src/core/include/mp-units/ostream.h index e2464bd7..d9ba6e5d 100644 --- a/src/core/include/mp-units/ostream.h +++ b/src/core/include/mp-units/ostream.h @@ -89,9 +89,12 @@ std::basic_ostream& to_stream(std::basic_ostream& MP_UNITS_EXPORT_BEGIN +template +concept is_mp_units_stream = requires (OStream os, T v) { detail::to_stream_impl(os, v); }; + template std::basic_ostream& operator<<(std::basic_ostream& os, const T& v) - requires requires { detail::to_stream_impl(os, v); } + requires is_mp_units_stream, T> { return detail::to_stream(os, v); }