I can see them:

    import std.traits;

    struct foo;
    struct bar;

    void f(@foo int, @foo @bar @("baz") real);

    pragma(msg, Parameters!f);
// (@(foo) int, @(tuple(tuple(foo), tuple(bar)), tuple("baz")) real)

...but I cannot find how to get hold of them:

    pragma(msg, (Mystery!f)[0]); // foo
    pragma(msg, __traits(mystery, f)[0]); // foo

And besides the structure looks weird for the second argument. It's as if the UDAs were applied to one another, from left to right.

I did search the documentation and google for 1/2 hour.


Reply via email to