1 // PR c++/69283 2 // { dg-do compile { target c++14 } } 3 4 namespace Ape { 5 struct Type {}; 6 7 template <typename T> f1(T const & v)8 auto f1(T const& v){ 9 return true; 10 } 11 12 template <typename T> f2(T const & v)13 auto f2(T const& v){ 14 return f2(v); // { dg-error "auto" } 15 } 16 } 17 18 namespace Baboon { 19 template <typename T> f3(T const & v)20 bool f3(T const& v){ 21 return f1(v); 22 } 23 24 template <typename T> f4(T const & v)25 bool f4(T const& v){ 26 f2(v); 27 return true; 28 } 29 } 30 main()31int main(){ 32 Ape::Type x; 33 Baboon::f3(x); 34 Baboon::f4(x); 35 } 36