On 26 November 2012 19:38, Adam D. Ruppe <destructionator@gmail.com> wrote:
On Monday, 26 November 2012 at 17:30:46 UTC, Manu wrote:
Error: variable isProperty cannot be read at compile time

This is easy now that I see the code:

template isProperty( T )
{
bool isProperty = false;
}


That should be enum bool isProperty = false. The enum is important because that makes it a compile time value, instead of a runtime variable like regular "bool isProperty".

Generally if you want something at compile time, enum is the magic keyword to put before an otherwise normal variable declaration.

Fix that in both places you did it... and import std.traits of course, and your code compiles.

Not sure if it is right, but it compiles and spits a bunch of output.

Actually, look back in the thread, I blindly copied that from you! ;) .. Yes, if obviously should have been enum.