--- /dev/null
+template <int TID> class Test {
+ public: template <template <int> class TClass> void func(typename TClass<TID>::Type x) {};
+};
+
+template <int> class A {
+ public: typedef double Type;
+};
+
+int main() {
+ double x = 1;
+ Test<1> t;
+ t.func<A>(x);
+}