On Wed, 13 Feb 2008 18:43:45 +0100, Hans de Goede wrote: > >> Attached is a patch which fixes this by un-inlining the Collision constructor. > >> Actually it seems that the best way to fix this is to un-inline all Collision > >> members which use the template and move the template entirely to Collision.cpp > > > > Note, however, that it only fixes the current implementation, not the bad > > design (the splitting of the template declaration/definition). It would > > break again as soon as the class template were instantiated with a > > different type parameter that is not covered inside Collision.cpp. > > > > Quoting myself: "move the template entirely to Collision.cpp", which would > effectively make it a private template only meant for use inside Collision.cpp, > so it will not be possible for other .cpp files to use it and therefore it > cannot be "instantiated with a different type parameter that is not covered > inside Collision.cpp", since all use will be in Collision.cpp and only in > Collision.cpp . Then Collision.h could not use it either. And if it were moved entirely into Collision.h, it could as well be moved into an ElementHandler.h to allow for proper reuse. -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list