1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // expected-no-diagnostics
4 // The scope of atemplate-parameterextends from its point of
5 // declaration until the end of its template. In particular, a
6 // template-parameter can be used in the declaration of subsequent
7 // template-parameters and their default arguments.
9 template<class T
, T
* p
, class U
= T
> class X
{ /* ... */ };
10 // FIXME: template<class T> void f(T* p = new T);
12 // Check for bogus template parameter shadow warning.
13 template<template<class T
> class,
14 template<class T
> class>