よく考え直したら、次のコードで良さそうです:
template <typename lhs, typename rhs>
struct is_equal {
  enum { type = false };
};
template <typename T>
struct is_equal<T, T> {
  enum { type = true };
};
レスしてくださった人ありがとうございました。