Is there a way to *force* CTFE? Without using an extra wrapper like this: auto f_impl(alias a)() { / * ... ctfeable ... */ } auto f(alias a)() { enum ctfed = f_impl!a; return ctfed; } A "@compile" (or "@ctfe" etc) function attribute would eliminate the need for the wrapper... artur