http://dpldocs.info/this-week-in-d/Blog.Posted_2021_07_26.html#on-my-wish-list I often wish there was a tuple of the function's arguments available. I call it __arguments. D already has something similar for the D-style variadics, but I'd like to see it for all functions. --- void foo(int a, int b) { auto c = __arguments[0]; // same as int c = a; writeln(__arguments); // same as writeln(a, b); } --- It is such a little thing but it would make that kind of forwarding a lot easier. I also wouldn't mind a __this_function thing, but that's fairly easy to hack around with __traits(parent, {}). And yah, you could kinda do some weird mixin thing with traits(parent) and pulling out the parameters tuple and mixing in the names. But much better to just have __arguments that just works.
@maxhaton created dlang/dmd pull request #13071 "Fix Issue 22291 - Implement __traits(arguments)" fixing this issue: - Fix Issue 22291 - Implement __traits(arguments) https://github.com/dlang/dmd/pull/13071
dlang/dmd pull request #13071 "Fix Issue 22291 - Implement __traits(parameters)" was merged into master: - 7798569c3c80a22b9a7013209d25a1b16a72c7e0 by Max Haughton: Fix Issue 22291 - Implement __traits(arguments) https://github.com/dlang/dmd/pull/13071
*** Issue 20266 has been marked as a duplicate of this issue. ***