On 2011-01-19 18:28, %u wrote:
Is this what you're looking for?:

No. :)
(Though you already found this out at the end!)
I was looking for some way to keep the storage classes and any other (meta)data
about the parameters that may be added in the future to the library. I have a
feeling this might be a very big change in how DMD handles parameters, but 
without
this feature, perfect redirection -- which I think is possible in C++0x -- would
be impossible in D.

The ugly solution would be to do this:

void test (ref int a) { }

void main ()
{
    writeln(typeof(&test).stringof);
}

Which will print: "void function(ref int a)" and then parse out what you need.

My suggestion would be that we treat "ref", "out", and "lazy" as type 
constructors
rather than storage specifiers; that way, we could get rid of the concept of
storage classes entirely, and it would unify the concept of references with 
other
languages like C# and C++.

How does this idea sound? :) (I think it's easier said than done, though...)


--
/Jacob Carlborg

Reply via email to