On 2011-03-15 10:42:46 -0400, Magnus Lie Hetland <[email protected]> said:

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?)

I'd say add it to bugzilla. It's probably related to this bug:
<http://d.puremagic.com/issues/show_bug.cgi?id=5531>


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).

My feeling is that it should work. Feel free to file a bug or enhancement request in the bug tracker.


--
Michel Fortin
[email protected]
http://michelf.com/

Reply via email to