1 // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
2 // expected-no-diagnostics
4 template <class _Tp
, class _Up
, bool = false>
5 struct __allocator_traits_rebind
9 template <template <class, class...> class _Alloc
, class _Tp
, class ..._Args
,
11 struct __allocator_traits_rebind
<_Alloc
<_Tp
, _Args
...>, _Up
, false>
13 typedef _Alloc
<_Up
, _Args
...> type
;
16 template <class Alloc
>
17 struct allocator_traits
19 template <class T
> using rebind_alloc
= typename __allocator_traits_rebind
<Alloc
, T
>::type
;
20 template <class T
> using rebind_traits
= allocator_traits
<rebind_alloc
<T
>>;
28 allocator_traits
<allocator
<char>>::rebind_alloc
<int> a
;