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));

Reply via email to