On Thursday, 5 October 2017 at 10:23:17 UTC, Dukc wrote:
Does that work? If so, good. But still not optimal, because you should be able to extend the functionality of code without changing it.

It works, yes. The point is, additional methods in the struct body, and free standing functions outside of the body, but in the same module, is basically the same thing in D (I believe Andrei already mentioned that).

Looks like what most people want are extension methods, not ADL?

We already have extension methods, but rather we want extension methods that work with other extension methods they don't know of. But I think that's what you meant and in this case the answer at least in my case is yes.

Ah, right. Well, anyway, that's not ADL by itself, since ADL only looks in the namespace of the argument type (so it won't find your extension methods if they're in some different namespace/module).

Unrelated: Since when have C struct had array members? I'm not so smart in my examples X).

Isn't that the "struct hack" (aka "flexible array member")? :)

Reply via email to