I've got a function template along these lines:

 Foo!T foo(T)(T[] bar, real function(T,T) baz) { ... }

The main reason I'm using this is that it seems necessary to use a function, rather than a type (such as Foo), if you want the compiler to deduce the compile-time parameters. (Right?)

Now ... this works just fine. However, if I try to add "const" before "T[]", DMD no longer groks it. Is that how it shold be? Seems awkward to me... (Or maybe I'm just doing it wrong?)

And a followup question: Writing out the type of baz like this (in several places) is also a bit awkward. I'd like to have a template so I could just do

 Foo!T foo(T)(T[] bar, baz_t!T baz) { ... }

However, I haven't been able to define such a template without running into the same problem (i.e., that DMD no longer can deduce what T should be from my arguments).

Any pointers?

--
Magnus Lie Hetland
http://hetland.org

Reply via email to