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
```
