@@ -3980,14 +3980,24 @@ public:
3980
3980
#endif // __cpp_lib_concepts
3981
3981
3982
3982
template <class _Iter2, enable_if_t<_Range_verifiable_v<_Iter, _Iter2>, int> = 0>
3983
- friend constexpr void _Verify_range(const move_iterator& _First, const move_iterator<_Iter2>& _Last) noexcept(
3984
- noexcept(_Verify_range(_First._Current, _Last.base()))) {
3983
+ friend constexpr void _Verify_range(const move_iterator& _First, const move_iterator<_Iter2>& _Last)
3984
+ #ifdef __EDG__ // TRANSITION, VSO-1222776
3985
+ noexcept(noexcept(_Verify_range(_STD declval<const _Iter&>(), _STD declval<const _Iter2&>())))
3986
+ #else // ^^^ workaround / no workaround vvv
3987
+ noexcept(noexcept(_Verify_range(_First._Current, _Last.base())))
3988
+ #endif // TRANSITION, VSO-1222776
3989
+ {
3985
3990
_Verify_range(_First._Current, _Last.base());
3986
3991
}
3987
3992
#ifdef __cpp_lib_concepts
3988
3993
template <sentinel_for<_Iter> _Sent, enable_if_t<_Range_verifiable_v<_Iter, _Sent>, int> = 0>
3989
- friend constexpr void _Verify_range(const move_iterator& _First, const move_sentinel<_Sent>& _Last) noexcept(
3990
- noexcept(_Verify_range(_First._Current, _Last._Get_last()))) {
3994
+ friend constexpr void _Verify_range(const move_iterator& _First, const move_sentinel<_Sent>& _Last)
3995
+ #ifdef __EDG__ // TRANSITION, VSO-1222776
3996
+ noexcept(noexcept(_Verify_range(_STD declval<const _Iter&>(), _STD declval<const _Sent&>())))
3997
+ #else // ^^^ workaround / no workaround vvv
3998
+ noexcept(noexcept(_Verify_range(_First._Current, _Last._Get_last())))
3999
+ #endif // TRANSITION, VSO-1222776
4000
+ {
3991
4001
_Verify_range(_First._Current, _Last._Get_last());
3992
4002
}
3993
4003
#endif // __cpp_lib_concepts
0 commit comments