On Thu, 07 May 2015 10:19:42 +0000 Lemonfiend via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote:
> Is it not possible to have a static function template with the > same name as the non-static version? > > struct S > { > int i; > > auto foo(T)(int j) { > i=j; > } > > static auto foo(T)(int j) { > S s; > s.foo!T(j); > return s; > } > } > > void main() > { > auto s = S.foo!bool(1); > } > > Error: need 'this' for 'foo' of type '(int j)' Btw. you can use s.foo even for static: struct S { int i; static auto foo(T)(int j) { S s; s.i = j; return s; } } void main() { auto s = S(); s = s.foo!bool(1); writeln(s); }