@@ -3494,14 +3494,24 @@ public:
3494
3494
#endif // __cpp_lib_concepts
3495
3495
3496
3496
template <class _Iter2, enable_if_t<_Range_verifiable_v<_Iter, _Iter2>, int> = 0>
3497
- friend constexpr void _Verify_range(const move_iterator& _First, const move_iterator<_Iter2>& _Last) noexcept(
3498
- noexcept(_Verify_range(_First._Current, _Last.base()))) {
3497
+ friend constexpr void _Verify_range(const move_iterator& _First, const move_iterator<_Iter2>& _Last)
3498
+ #ifdef __EDG__ // TRANSITION, VSO-1222776
3499
+ noexcept(noexcept(_Verify_range(_STD declval<const _Iter&>(), _STD declval<const _Iter2&>())))
3500
+ #else // ^^^ workaround / no workaround vvv
3501
+ noexcept(noexcept(_Verify_range(_First._Current, _Last.base())))
3502
+ #endif // TRANSITION, VSO-1222776
3503
+ {
3499
3504
_Verify_range(_First._Current, _Last.base());
3500
3505
}
3501
3506
#ifdef __cpp_lib_concepts
3502
3507
template <sentinel_for<_Iter> _Sent, enable_if_t<_Range_verifiable_v<_Iter, _Sent>, int> = 0>
3503
- friend constexpr void _Verify_range(const move_iterator& _First, const move_sentinel<_Sent>& _Last) noexcept(
3504
- noexcept(_Verify_range(_First._Current, _Last._Get_last()))) {
3508
+ friend constexpr void _Verify_range(const move_iterator& _First, const move_sentinel<_Sent>& _Last)
3509
+ #ifdef __EDG__ // TRANSITION, VSO-1222776
3510
+ noexcept(noexcept(_Verify_range(_STD declval<const _Iter&>(), _STD declval<const _Sent&>())))
3511
+ #else // ^^^ workaround / no workaround vvv
3512
+ noexcept(noexcept(_Verify_range(_First._Current, _Last._Get_last())))
3513
+ #endif // TRANSITION, VSO-1222776
3514
+ {
3505
3515
_Verify_range(_First._Current, _Last._Get_last());
3506
3516
}
3507
3517
#endif // __cpp_lib_concepts
0 commit comments