// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s // expected-no-diagnostics template struct __allocator_traits_rebind { typedef typename _Tp::template rebind<_Up>::other type; }; template struct allocator_traits { typedef Alloc allocator_type; template using rebind_alloc = typename __allocator_traits_rebind::type; template using rebind_traits = allocator_traits>; }; template struct ReboundA {}; template struct A { typedef T value_type; template struct rebind {typedef ReboundA other;}; }; int main() { allocator_traits >::rebind_traits a; }