On 5/3/15 8:13 PM, Meta wrote:
On Monday, 4 May 2015 at 01:01:05 UTC, Andrei Alexandrescu wrote:
Hmm, I didn't try it assuming it won't work (thought
__traits(getMember, member, sym) would fail with opDispatch). Tried it
just now, it does work like a charm. Thanks!

Andrei

So is a function that generates a string mixin necessary or not necessary?

I'm not sure. It's a great question. In some ways a string mixin is the straight deal - you get complete control over what you generate, ultimate flexibility, and you get to inspect it if you so want. (BTW I think compiler errors in mixins should either print the failing mixin with line numbers, or make it available as a file).

But then the opDispatch solution is more structured and restricted in a good way. I think we need a bit more experience with both to figure out which is the best way to go. More specifically:

* forward to enumerated types

* distinguish static/non-static methods, and define forwarding appropriately

* define properties to forward to member variables

* alias member types and templates

* other similar stuff I didn't think of, in essence "defer stuff to this member"


Andrei

Reply via email to