/* TEST_OUTPUT: --- fail_compilation/templatethis.d(13): Error: cannot use `this` outside an aggregate type fail_compilation/templatethis.d(17): Error: cannot use `this` outside an aggregate type fail_compilation/templatethis.d(21): Error: cannot use `this` outside an aggregate type fail_compilation/templatethis.d(23): Error: cannot use `this` outside an aggregate type fail_compilation/templatethis.d(29): Error: cannot use `this` outside an aggregate type fail_compilation/templatethis.d(32): Error: mixin `templatethis.t2!()` error instantiating --- */ template t(this T) { } struct S(this T) { } enum e(this T) = 1; void f(this T)() { } mixin template t2() { int i(this T) = 1; } mixin t2; class C { mixin t2; // OK }