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); }