#include <cassert>
template <class T>
struct A
{
  T i;
};

template <class T>
T get_i(const A<T> a1)
{
  return a1.i;
}

int main()
{
  A<int> a2;
  a2.i = 10;
  assert(a2.i == 10);
  assert(get_i<int>(a2) == 10);
  get_i<int>(a2);
}
