On Saturday, 12 March 2022 at 13:12:25 UTC, vit wrote:
```d
enum touch_T = __traits(hasMember, T, "touch");
```

I think you meant build instead of touch?

```d
struct Query {
  public const SharedPtr!Builder builder;
}

interface Builder {
  void build(ref Query query);
}

struct SharedPtr(T) {
    enum touch_T = __traits(hasMember, T, "build");
}

import std.traits, std.stdio;

void main() {
  Query q;
  q.builder.touch_T.writeln(" #build");
} // true #build
```

Reply via email to