template <class T> class H {
  T h;
public:
  H(const T &t) : h(t) {}
};
template <class T> void g(H<T> e = 0) {}
template <class T> void f(T t) { g<T>(t); }
int main() { f(1); return 0; }