Suggestion for a new trait: __traits(getCaptures,...)

Zoadian no at
Tue Oct 22 14:26:49 UTC 2019


I tried to implement a reactivity pattern similar to vue.js and 
ran into the problem that it currently is not possible (correct 
me if I am wrong) to find out which variables are implicitly 
captured or accessed in lambdas/member functions.
Would it be possible to add this to D? `Would it require a DIP?

Example how i would imagine it:
struct S{ int b; }
int a;
S s;

auto fun = (){ return a + s.b; }

alias vars = __traits(getCaptures, fun);

assert_alias(vars[0] == a, vars[1] == s.b);

I have a quick and dirty implementation here (it's not good, just 


More information about the Digitalmars-d mailing list