1 // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
3 template <class _Tp
, class _Up
, bool = false>
4 struct __allocator_traits_rebind
8 template <template <class, class...> class _Alloc
, class _Tp
, class ..._Args
,
10 struct __allocator_traits_rebind
<_Alloc
<_Tp
, _Args
...>, _Up
, false>
12 typedef _Alloc
<_Up
, _Args
...> type
;
15 template <class Alloc
>
16 struct allocator_traits
18 template <class T
> using rebind_alloc
= typename __allocator_traits_rebind
<Alloc
, T
>::type
;
19 template <class T
> using rebind_traits
= allocator_traits
<rebind_alloc
<T
>>;
27 allocator_traits
<allocator
<char>>::rebind_alloc
<int> a
;