forcing compile time function execution
    Jonathan M Davis 
    jmdavisProg at gmx.com
       
    Tue Dec 27 16:29:24 PST 2011
    
    
  
On Tuesday, December 27, 2011 18:59:55 Artur Skawina wrote:
> 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...
The _only_ time that CTFE is done is when it _must_ be done. So, if you want 
something to be evaluated at compile time, you need to assign it to a value 
which must be initialized at compile time. e.g. an enum or a static variable.
- Jonathan M Davis
    
    
More information about the Digitalmars-d
mailing list