// PR c++/53651 // { dg-do compile { target c++11 } } template struct wrap { void bar(); }; template auto foo(T* t) -> wrap* { return 0; } template struct holder : decltype(*foo((T*)0)) // { dg-error "class type" } { using decltype(*foo((T*)0))::bar; // { dg-error "is not a base" } }; holder h;