#include <iostream>
using namespace std;

template<typename T>
union u {
  T a;
  char b;
  u(T aa) : a(aa) {}
};

template<typename T>
u<T> make_u(T t) {
  return {t};
}

int main() {
  std::cout << make_u<int>(1).a;
}