Anyone know why this CTFE isn't working?
    Jonathan M Davis 
    jmdavisprog at gmail.com
       
    Fri Jul 16 03:05:02 PDT 2010
    
    
  
On Friday 16 July 2010 02:46:48 Rory McGuire wrote:
> import std.stdio;
> 
> struct State {
>   string s; string getString() { return s; }
>   static State opCall(string s) {
>   State ret;
>   ret.s = s;
>   return ret;
>   }
> }
> 
> void main() {
>   auto s = State("adf");
>   pragma(msg, s.getString());
> }
Make s an enum and it'll work. As it is, it's a local variable created at 
runtime rather than a constant at compile-time. So, use
enum s = State("adf");
- Jonathan M Davis
    
    
More information about the Digitalmars-d-learn
mailing list