blob: 9fdfbf560c7115695ad4c44ac4664a873b32d0dd [file]
// { dg-do compile { target c++20 } }
// Bug 121919 ranges::sample assumes a uniform_random_bit_generator
// provides result_type
#include <algorithm>
#include <testsuite_iterators.h>
struct G
{
constexpr static unsigned min() { return 0; }
constexpr static unsigned max() { return 10; }
unsigned operator()() const;
};
static_assert(std::uniform_random_bit_generator<G>);
void
test_pr121919()
{
int i2[2]{ 1, 2 };
__gnu_test::test_random_access_range from(i2);
int i1[1];
__gnu_test::test_random_access_range to(i1);
std::ranges::sample(from, std::ranges::begin(to), 1, G{});
std::ranges::sample(std::ranges::begin(from), std::ranges::end(to),
std::ranges::begin(to), 1, G{});
}