Following the commits to the dmd repository I found these traits implemented.
The idea is good, but the API chosen does not look right. Why not have
__traits(storageClass, symbol) and a enum which defines the return value:
enum StorageClass {
None,
Ref,
Lazy,
Out
}One could write templates isRef, isLazy etc on top of that if he/she really needs. IMO this is a cleaner way to implement this particular feature.
