Re: Why doesn't this work when the function is a static method?

2021-01-14 Thread Anonymouse via Digitalmars-d-learn
On Thursday, 14 January 2021 at 15:20:54 UTC, Jack wrote: On Thursday, 14 January 2021 at 09:13:27 UTC, evilrat wrote: On Thursday, 14 January 2021 at 05:44:43 UTC, Jack wrote: On Wednesday, 13 January 2021 at 17:21:23 UTC, Paul Backus wrote: Member functions (including static ones) can't be

Re: Why doesn't this work when the function is a static method?

2021-01-14 Thread Jack via Digitalmars-d-learn
On Thursday, 14 January 2021 at 09:13:27 UTC, evilrat wrote: On Thursday, 14 January 2021 at 05:44:43 UTC, Jack wrote: On Wednesday, 13 January 2021 at 17:21:23 UTC, Paul Backus wrote: Member functions (including static ones) can't be called with UFCS. is this documented somewhere? Is

Re: Why doesn't this work when the function is a static method?

2021-01-14 Thread evilrat via Digitalmars-d-learn
On Thursday, 14 January 2021 at 05:44:43 UTC, Jack wrote: On Wednesday, 13 January 2021 at 17:21:23 UTC, Paul Backus wrote: Member functions (including static ones) can't be called with UFCS. is this documented somewhere? Is this going to change? It will stay as is. It is somewhat

Re: Why doesn't this work when the function is a static method?

2021-01-13 Thread Jack via Digitalmars-d-learn
On Wednesday, 13 January 2021 at 17:21:23 UTC, Paul Backus wrote: On Wednesday, 13 January 2021 at 17:14:04 UTC, Jack wrote: but if I wrap this within a class: class Foo { static int f(HWND hwnd, int n) { return n*10; } static void baa() { HWND foo;

Re: Why doesn't this work when the function is a static method?

2021-01-13 Thread Paul Backus via Digitalmars-d-learn
On Wednesday, 13 January 2021 at 17:14:04 UTC, Jack wrote: but if I wrap this within a class: class Foo { static int f(HWND hwnd, int n) { return n*10; } static void baa() { HWND foo; writeln(foo.f(10)); } } I get the error: Error: no property

Why doesn't this work when the function is a static method?

2021-01-13 Thread Jack via Digitalmars-d-learn
works fine (this is defined at global scope, g and baa are same as static) int f(HWND hwnd, int n) { return n*10; } void baa() { HWND foo; writeln(foo.f(10)); } but if I wrap this within a class: class Foo { static int f(HWND hwnd, int n)