On 14.12.2016 00:00, Timothee Cour via Digitalmars-d-learn wrote:
what's the best (and DRY) way to achieve:``` static if(__traits(compiles, expr)) fun(expr); ``` ie, without repeating the expression inside expr? eg: ``` static if(__traits(compiles, foo.bar[2])){ counter++; writeln(" expr = ", foo.bar[2]); } ```
I usually do
enum code = q{expr};
static if(__traits(compiles,mixin(code)))
fun(mixin(code));
