On Wednesday, 30 January 2019 at 05:14:20 UTC, Sobaya wrote:
I want to get a mangled name of a D function by `core.demangle.mangle`, but I'm in trouble because there are no ways to express a type of a function, which is used for a template argument of `mangle`.

There's a way:

int add(int i, int j);
static assert(is(typeof(add) == typeof(*(int function(int, int)).init)));

Unfortunately there's no dedicated syntax for it, unlike C++. Weirdly enough, if you pragma(msg) a function type it prints it out in C++ syntax (e.g. `int(int, int)`), but if you type it yourself it won't compile.

Then there's this oddity:

https://issues.dlang.org/show_bug.cgi?id=19270

Reply via email to