1// Origin PR c++/48838
2// { dg-do compile }
3
4class DUChainItemSystem
5{
6public:
7
8    template<class T>
9    void registerTypeClass();
10
11    static DUChainItemSystem& self();
12};
13
14template<class T>
15struct DUChainItemRegistrator
16{
17    DUChainItemRegistrator()
18    {
19        DUChainItemSystem::self().registerTypeClass<T>();
20    }
21};
22