On Thu, 29 Nov 2018 21:11:06 +0000, John Chapman wrote: > Is there any way to get a string representing a function's exact > signature as declared in the source? I can generate it myself using > reflection but it might not be 100% verbatim so wanted to know if > there's anything built in? > > foreach (m; __traits(allMembers, T)) { > alias member = __traits(getMember, T, m); > string signature = // Call some function to get "member"'s > signature as a string > }
typeof(&func).stringof should do it: void bar(string s, ref Foo!int i) {} void main() { writeln(typeof(&bar).stringof); } prints: void function(string s, ref Foo!int i)