1 // { dg-do compile { target c++20 } }
10 Alloc(int) { } // not default constructible
12 template<typename U
> Alloc(const Alloc
<U
>&) { }
14 T
* allocate(std::size_t n
) { return std::allocator
<T
>().allocate(n
); }
15 void deallocate(T
* p
, std::size_t n
) { std::allocator
<T
>().deallocate(p
, n
); }
18 template<typename T
> struct wrap
{ T t
; };
20 template<typename T
> void do_adl(T
&) { }
24 using test_type
= std::vector
<int, Alloc
<int>>;
25 std::pair
<const int, wrap
<test_type
>>* h
= nullptr;
29 void test_pr113841_bool()
31 using test_type
= std::vector
<bool, Alloc
<bool>>;
32 std::pair
<const int, wrap
<test_type
>>* h
= nullptr;