template <typename T>
class X
{
};
void f(T t)
}
struct
} unnamed_obj;
void f()
struct A
enum
e1
typedef struct
} B;
B b;
X<A> x1;
X<A*> x2;
X<B> x3;
f(e1);
f(unnamed_obj);
f(b);
(void)x1;
(void)x2;
(void)x3;