On Friday, 17 August 2012 at 22:01:42 UTC, Jonathan M Davis wrote:
On Friday, August 17, 2012 23:45:49 Henning Pohl wrote:
I've ended up with a TypeTuple storing 1230 auto-generated
types.
Now the compiler claims there is a recursive template
expansion.
How to stir him from his resolve?
I believe that if a particular template is ever instantiated
more than 50
times recursively, the compiler will error out on the
assumption that it's hit
infinite recursion (it has to bottom out eventually, or would
just end up
running until it ran out of memory if it actually does hit
infinite recursion;
I don't know how arbitrary the choice of 50 was). So, the
TypeTuple itself
shouldn't be a problem (e.g. you should be able to use foreach
on it just
fine), but template instantiations will be a problem if you try
and go through
the whole TypeTuple recursively.
- Jonathan M Davis
Damn, I just ran out of memory using ~ 550 types. DMD was
flooding my 8GB RAM like in 5 seconds. Fortunately I could kill
DMD just in time.
So there have to be another solution.
I want to store lots (~615) dynamically loaded function pointers
in a class and call them using opDispatch. To provide a type-safe
function call, the types of the functions have to be stored
somewhere, in a TypeTuple.
Maybe you can help me how this could be done.