[libc++][test] test in_in_result convertible requirements

Currently it is not checked that operator in_in_result<II1, II2>() SFINAEs away properly

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D117517
This commit is contained in:
Nikolas Klauser 2022-01-18 00:18:39 +01:00
parent 0ab170803f
commit 6322cb4890
1 changed files with 6 additions and 0 deletions

View File

@ -54,6 +54,12 @@ static_assert(!std::is_nothrow_convertible_v<std::ranges::in_in_result<int, int>
static_assert(std::is_convertible_v< const std::ranges::in_in_result<int, int>&&, std::ranges::in_in_result<long, long>>);
static_assert(!std::is_nothrow_convertible_v<const std::ranges::in_in_result<int, int>&&, std::ranges::in_in_result<long, long>>);
struct NotConvertible {};
static_assert(!std::is_convertible_v<std::ranges::in_in_result<NotConvertible, int>,
std::ranges::in_in_result<int, int>>);
static_assert(!std::is_convertible_v<std::ranges::in_in_result<int, NotConvertible>,
std::ranges::in_in_result<int, int>>);
constexpr bool test() {
{
std::ranges::in_in_result<int, double> res{10L, 0.};