// { dg-do assemble } template struct Foo { friend void operator<<(int, Foo const &) {} }; template class Bar : public Foo {}; inline Bar<0> bar(int,int,int) { return Bar<3>(); } // { dg-error "" } no conversion