diff --git a/stl/inc/type_traits b/stl/inc/type_traits index 5664ce1aca4..ffb434b4ced 100644 --- a/stl/inc/type_traits +++ b/stl/inc/type_traits @@ -539,7 +539,7 @@ _MEMBER_CALL_CV_REF_NOEXCEPT(_IS_MEMFUNPTR) _CLASS_DEFINE_CV_REF_NOEXCEPT(_IS_MEMFUNPTR_ELLIPSIS) #undef _IS_MEMFUNPTR_ELLIPSIS -#if _HAS_CXX23 && !defined(__clang__) // TRANSITION, DevCom-10107077, Clang has not implemented Deducing this +#if _HAS_CXX23 #define _IS_MEMFUNPTR_EXPLICIT_THIS_GUIDES(CALL_OPT, CV_OPT, REF_OPT, NOEXCEPT_OPT) \ template \ struct _Is_memfunptr<_Ret(CALL_OPT*)(_Self, _Args...) NOEXCEPT_OPT> { \ @@ -553,7 +553,7 @@ _NON_MEMBER_CALL(_IS_MEMFUNPTR_EXPLICIT_THIS_GUIDES, , , noexcept) #endif // defined(__cpp_noexcept_function_type) #undef _IS_MEMFUNPTR_EXPLICIT_THIS_GUIDES -#endif // _HAS_CXX23 && !defined(__clang__) +#endif // _HAS_CXX23 #ifdef __clang__ _EXPORT_STD template diff --git a/tests/std/tests/P0433R2_deduction_guides/test.cpp b/tests/std/tests/P0433R2_deduction_guides/test.cpp index e4f7407ca47..7b9cf044006 100644 --- a/tests/std/tests/P0433R2_deduction_guides/test.cpp +++ b/tests/std/tests/P0433R2_deduction_guides/test.cpp @@ -37,10 +37,6 @@ #include #include -#if _HAS_CXX23 && !defined(__clang__) // TRANSITION, DevCom-10107077, Clang has not implemented Deducing this -#define HAS_EXPLICIT_THIS_PARAMETER -#endif // _HAS_CXX23 && !defined(__clang__) - using namespace std; template @@ -327,7 +323,7 @@ void test_function_wrapper() { static_assert(is_same_v>); static_assert(is_same_v>); -#ifdef HAS_EXPLICIT_THIS_PARAMETER +#if _HAS_CXX23 struct ExplicitThisByVal { void operator()(this ExplicitThisByVal, char) {} }; @@ -409,7 +405,7 @@ void test_function_wrapper() { static_assert(is_same_v>); static_assert(is_same_v>); static_assert(is_same_v>); -#endif // HAS_EXPLICIT_THIS_PARAMETER +#endif // _HAS_CXX23 } void test_searchers() {