diff options
Diffstat (limited to 'clang/test/SemaTemplate/issue150.cpp')
| -rw-r--r-- | clang/test/SemaTemplate/issue150.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/issue150.cpp b/clang/test/SemaTemplate/issue150.cpp index 0d7930723fc..2cfa8c5cb1e 100644 --- a/clang/test/SemaTemplate/issue150.cpp +++ b/clang/test/SemaTemplate/issue150.cpp @@ -69,3 +69,29 @@ namespace MultiReplacePartial { int check0[is_same<X<int, int, Y>::type, Y<int, int*, int* const> >::value? 1 : -1]; } + +namespace PR9016 { + template<typename > struct allocator ; + template<typename > struct less ; + + template<class T, template<class> class Compare, class Default, + template<class> class Alloc> + struct interval_set { }; + + template <class X, template<class> class = less> struct interval_type_default { + typedef X type; + }; + + template <class T, + template<class _T, template<class> class Compare = less, + class = typename interval_type_default<_T,Compare>::type, + template<class> class = allocator> class IntervalSet> + struct ZZZ + { + IntervalSet<T> IntervalSetT; + }; + + void test() { + ZZZ<int, interval_set> zzz; + } +} |

