template Foo(T, U) { class Bar { } T foo(T t, U u) { } T abc; typedef T* FooType; typedef Tte** FooType0; typedef int* FooType1; typedef const char FooType2; } alias Foo!(int, char) f; f.Bar b; f.foo(1,2); f.abc = 3; to!string(10.0); TFoo!int.t x; class Abc(T) { T t; }