digitalmars.D.learn - Why doesn't this work when the function is a static method?
- Jack (26/26) Jan 13 2021 works fine (this is defined at global scope, g and baa are same
- Paul Backus (3/18) Jan 13 2021 Member functions (including static ones) can't be called with
- Jack (3/26) Jan 13 2021 Thanks
- evilrat (5/11) Jan 14 2021 It will stay as is.
- Jack (2/13) Jan 14 2021 I see, thanks
- Anonymouse (4/20) Jan 14 2021 If it's really important you can make a module-level alias to the
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) { return n*10; } static void baa() { HWND foo; writeln(foo.f(10)); } } I get the error: Error: no property f for type void*
Jan 13 2021
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 f for type void*Member functions (including static ones) can't be called with UFCS.
Jan 13 2021
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:Thanks is this documented somewhere? Is this going to change?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 f for type void*Member functions (including static ones) can't be called with UFCS.
Jan 13 2021
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 vaguely described in p.7 under UFCS section in functions https://dlang.org/spec/function.html#pseudo-member
Jan 14 2021
On Thursday, 14 January 2021 at 09:13:27 UTC, evilrat wrote:On Thursday, 14 January 2021 at 05:44:43 UTC, Jack wrote:I see, thanksOn 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 vaguely described in p.7 under UFCS section in functions https://dlang.org/spec/function.html#pseudo-member
Jan 14 2021
On Thursday, 14 January 2021 at 15:20:54 UTC, Jack wrote:On Thursday, 14 January 2021 at 09:13:27 UTC, evilrat wrote:If it's really important you can make a module-level alias to the static method. https://run.dlang.io/is/4IFsjrOn Thursday, 14 January 2021 at 05:44:43 UTC, Jack wrote:I see, thanksOn 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 vaguely described in p.7 under UFCS section in functions https://dlang.org/spec/function.html#pseudo-member
Jan 14 2021