On Tue, 14 May 2013 02:56:09 -0400, Timothee Cour <[email protected]> wrote:

*Limitations*:
One typical case where this isn't possible is when a template defines an
type alias, eg:
----
template Iota(int stop) {
    static if (stop <= 0)
        alias Iota=TypeTuple!();
    else
        alias Iota=TypeTuple!(Iota!(stop-1), stop-1);
}
----

Another is that CTFE can hit a brick wall and fail to compile. It's an implementation bug, but something to consider before changing everything to CTFE. AFAIK, straight templates don't have this limitation. There was quite a bit of talk at the conference about how CTFE is awesome, but too limited based on the current D front end.

Otherwise, I like the idea.  If nothing else, it gives more flexibility.

-Steve

Reply via email to