On Fri, Nov 13, 2009 at 1:11 PM, Ary Borenszweig <[email protected]> wrote:
> How can I know at compile time if all of the following are true for a given
> symbol s:
>  1. s is a function
>  2. the return type is a class that extends from class foo.Bar
>  3. the function has three arguments and it is not variadic
>  4. the first argument is an int
>  5. the second argument is a struct
>  6. the third argument is an associative array with char[] key and float
> value

For a question like that you should definitely specify whether you
want D1 or D2.

Also do you really want to know if "s is a function"?  Or if "s is
something which can be called like a function".  If the latter then
you should test if call syntax compiles like Jacob suggested.  If not
then I think you use "if(is(s == function))" like Simen said.

--bb

Reply via email to