1 // RUN: %clang_cc1 -fsyntax-only -ast-print %s | FileCheck %s
2 
3 template <typename T, typename U = double> class Foo;
4 
5 template <> class Foo<int, double> { int method1(); };
6 
7 using int_type = int;
8 
9 int Foo<int_type, double>::method1() {
10   // CHECK: int Foo<int_type, double>::method1()
11   return 10;
12 }
13 
14 int test_typedef() {
15   typedef Foo<int, double> TypedefArg;
16   // CHECK: typedef Foo<int, double> TypedefArg;
17   return 10;
18 }
19 
20 int test_typedef2() {
21   typedef Foo<int> TypedefArg;
22   // CHECK: typedef Foo<int> TypedefArg;
23   return 10;
24 }
25