http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45908
--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> 2010-10-06 14:00:11 UTC --- (In reply to comment #3) > I think that's wrong because the trailing-return-type follows the function's > declarator-id, so [basic.lookup.unqual]p8 applies, but I'll leave Jason to > clarify that But paragraph 7 also applies (name used in a class outside a member function body), so the name needs to be declared before its use.