On 09/16/2013 01:24 PM, Marek Janukowicz wrote:
> static string[string] columns () {
// ...
> }
Although the function itself is static, it returns a dynamic value.
> foreach( attr, col; columns() ) {
> __traits(getMember, me, attr) = typeof(__traits(getMember, me,
> attr)).init;
> }
That foreach is a run-time foreach because columns()'s return value is a
run-time value.
As far as I know, static foreach is only for tuples (or TypeTuples). If
you can generate the AA as a tuple, then the foreach will be evaluated
at compile time.
Ali