Skip to content

Commit

Permalink
[libc++] ADL-proof __libcpp_is_nothrow_constructible.
Browse files Browse the repository at this point in the history
The GCC C++20 buildbot hit this ADL call; Clang doesn't,
presumably because it uses a compiler builtin instead of
this codepath in <type_traits>.
https://buildkite.com/llvm-project/libcxx-ci/builds/674
  • Loading branch information
Quuxplusone committed Dec 8, 2020
1 parent 483fb33 commit 35c3b53
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions libcxx/include/type_traits
Original file line number Diff line number Diff line change
Expand Up @@ -1821,7 +1821,7 @@ template <typename _Tp>
static void __test_noexcept(_Tp) noexcept;

template<typename _Fm, typename _To>
static bool_constant<noexcept(__test_noexcept<_To>(declval<_Fm>()))>
static bool_constant<noexcept(_VSTD::__test_noexcept<_To>(declval<_Fm>()))>
__is_nothrow_convertible_test();

template <typename _Fm, typename _To>
Expand Down Expand Up @@ -3293,7 +3293,7 @@ void __implicit_conversion_to(_Tp) noexcept { }

template <class _Tp, class _Arg>
struct __libcpp_is_nothrow_constructible</*is constructible*/true, /*is reference*/true, _Tp, _Arg>
: public integral_constant<bool, noexcept(__implicit_conversion_to<_Tp>(declval<_Arg>()))>
: public integral_constant<bool, noexcept(_VSTD::__implicit_conversion_to<_Tp>(declval<_Arg>()))>
{
};

Expand Down

0 comments on commit 35c3b53

Please sign in to comment.