template <typename T> void foot() { } inline void foo() { } template <typename T> struct bart { }; struct bar { };