Hi, Consider this: template<class T> class X {}; class Outer; class Outer::Inner; class Outer : public X<Outer::Inner> { class Inner {}; }; Is it legal code according to the current draft. Thanks, Johan -- -- Johan Wikman wikman@ntc.nokia.com; C=FI,A=Elisa,P=Nokia Telecom,S=Wikman,Gi=Johan TL4E - P.P. Box 12, SF-02611 Espoo 61, Finland