1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// PR c++/37920 template<typename T> T& ensure_obj(const T&); template <typename T> void func2(T& t) { typedef __typeof__(ensure_obj(t)) ttt; struct ttt1 { ttt1( ttt arg0 ){} } tttt ( t ); } int main() { double d = 5; func2(d); }