1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // expected-no-diagnostics
3 template<typename
> struct Y1
;
4 template<typename
, int> struct Y2
;
6 template<class T1
, class T2
= int> class B2
;
7 template<class T1
= int, class T2
> class B2
;
9 template<template<class, int> class, template<class> class = Y1
> class B2t
;
10 template<template<class, int> class = Y2
, template<class> class> class B2t
;
12 template<int N
, int M
= 5> class B2n
;
13 template<int N
= 5, int M
> class B2n
;