Is this legal?: enum a = "test"; a = "test2";
Because it seems to compile. But that shouldn't work afaik..? I can't reassign other enum types: enum b = 4; b = 5; // error which is expected. Pelle Wrote: > On 09/06/2010 08:53 PM, Philippe Sigaud wrote: > > On Mon, Sep 6, 2010 at 18:47, Pelle <pelle.mans...@gmail.com > > <mailto:pelle.mans...@gmail.com>> wrote: > > > > On 09/04/2010 02:11 PM, Simen kjaeraas wrote: > > > > Is there a way you could write an isStatic(expr) template? Using > > > > > > template isStatic( alias T ) { > > enum isStatic = is( char[1+T] ); > > } > > > > unittest { > > int n = 3; > > assert( !isStatic!n ); > > assert( isStatic!1 ); > > enum r = 5; > > assert( isStatic!r ); > > } > > > > > > enum s = "Hello"; > > > > assert (isStatic!s); > > > > Gonna need more work than that. > > > > > > Why? That's exactly the behavior we want, or so it seems to me. > > > > > > Sorry if I was unclear, that assert fails. Due to that you cannot add an > integer and a string, not not that the string isn't static. It's an > enum, so it definitely is static.