diff --git a/include/proxy/v4/proxy.h b/include/proxy/v4/proxy.h index 1fd7aac6..2223027e 100644 --- a/include/proxy/v4/proxy.h +++ b/include/proxy/v4/proxy.h @@ -2135,7 +2135,7 @@ struct view_conversion_dispatch : cast_dispatch_base { } }; template -using view_conversion_overload = proxy_view() noexcept; +using view_conversion_overload = proxy_view() & noexcept; struct weak_conversion_dispatch : cast_dispatch_base { template diff --git a/tests/proxy_view_tests.cpp b/tests/proxy_view_tests.cpp index cb684a53..ca269e62 100644 --- a/tests/proxy_view_tests.cpp +++ b/tests/proxy_view_tests.cpp @@ -38,6 +38,11 @@ static_assert( SupportsToString>())>); static_assert(sizeof(pro::proxy_view) == 3 * sizeof(void*)); +static_assert(std::is_nothrow_convertible_v&, + pro::proxy_view>); +static_assert(!std::is_convertible_v, + pro::proxy_view>); + template using AreEqualOverload = bool(const pro::proxy_indirect_accessor& rhs, double eps) const;