On Friday, 13 July 2018 at 10:52:54 UTC, Radu wrote:
On Friday, 13 July 2018 at 10:21:54 UTC, Michael wrote:
Hello,

I am nesting some function calls, and I'm pretty used to making use of D's Uniform Function Call Syntax, but I'm getting an error if I try to convert this line:

createSet(createVector(langSize, index)).length;

which works, into this line:

createVector(langSize, index).createSet.length;

receiving the error "Error: no property createSet for type int[]", when the signature for createSet is:

static auto createSet(in int[] vector) pure

What am I missing here? I'm sure it's stupidly obvious but it expects one argument, so I'm just calling it without parentheses.

Do you try to call member functions? UFCS only works with free functions, meaning declared at module level.

https://dlang.org/spec/function.html#pseudo-member

I'm not intentionally trying to call member functions, no. The functions are all static functions of a class, but the chaining of them using UFCS doesn't seem to work.

Reply via email to