template <class T> void f(T&& a, bool); template<class T> void f(T&& a){ foo(std::forward<T>(a), true); }
void f(int&& a, bool) { } int main() { int a; f(a); } "undefined reference to 'void f<int&>(int&&&, bool)'". Note the "&&&" which I believe is int&& + int& which should be int&. Chris -- Summary: rvalue/lvalue reference collapsing not performed in error ouput thus printing "&&&" Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: chris dot fairles at gmail dot com GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37089