112a9d9c8Sopenharmony_citemplate <typename> class Rooted; 212a9d9c8Sopenharmony_cinamespace js { 312a9d9c8Sopenharmony_ci template <typename T> class RootedBase { 412a9d9c8Sopenharmony_ci T* foo; 512a9d9c8Sopenharmony_ci Rooted<T>* next; 612a9d9c8Sopenharmony_ci }; 712a9d9c8Sopenharmony_ci} 812a9d9c8Sopenharmony_citemplate <typename T> class Rooted : js::RootedBase<T> {}; 9