> It works fine with the 1.1 release. Am I wrong to consider this a bug? Yes. According to 14.6.1, [temp.local]/4, your example is ill-formed: >> A template­parameter shall not be redeclared within its scope >> (including nested scopes). A template­parameter shall not have the >> same name as the template name. [Example: >> template >> class Y { >> int T; // error: template­parameter redeclared >> void f() >> { char T; // error: template­parameter redeclared >> } >> }; >> template class X; // error: template­parameter redeclared Egcs 1.1 does not diagnose this rule, and assumes that the local names hide the template parameters, instead. Regards, Martin