1 // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
2 // expected-no-diagnostics
4 template <class _Tp
, class _Up
>
5 struct __allocator_traits_rebind
7 typedef typename
_Tp::template rebind
<_Up
>::other type
;
10 template <class Alloc
>
11 struct allocator_traits
13 typedef Alloc allocator_type
;
14 template <class T
> using rebind_alloc
= typename
15 __allocator_traits_rebind
<allocator_type
, T
>::type
;
16 template <class T
> using rebind_traits
= allocator_traits
<rebind_alloc
<T
>>;
27 template <class U
> struct rebind
{typedef ReboundA
<U
> other
;};
32 allocator_traits
<A
<char> >::rebind_traits
<double> a
;