Add __traits(canCall) and __traits(resolve)

Richard (Rikki) Andrew Cattermole richard at cattermole.co.nz
Tue Jul 29 04:28:44 UTC 2025


Something I've wanted for along time now, to speed up reflection is the 
offering to filter symbols.

```d
__traits(filterFunctionByTypes, source, Return, Parameters...)
```

Where ``source`` could be a type, alias (overload set), named import ext.

Where ``Return`` could be ``auto`` to mean "don't care".

But also:

```d
__traits(filterFunctionByExpression, source, args...)
```

The result of both is an alias sequence of symbols.


More information about the dip.ideas mailing list