On 2012-05-04 16:19, H. S. Teoh wrote:
Argh... this is really annoying. So I tried all sorts of combinations of function pointer syntax in order to get the correct type for a ref function that returns const(T), but couldn't. So I decided to let the language tell me itself what the type is:import std.stdio; struct S {} ref const(S) func() { ... } void main() { auto fp =&func; writeln(typeid(fp)); } This program outputs: const(test.S)()* So I copy-n-paste this type into the source: const(test.S)()* fp =&func;
If you use: writeln(typeof(fp).stringof); I get this: const(S) function() ref Which neither can't be used as a declaration. -- /Jacob Carlborg
