http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54058
--- Comment #2 from Andy Jost <andy.m.jost at gmail dot com> 2012-07-21 21:45:30 UTC --- I think you're right. Section 14.6.5.2 of the 2nd ed. (2003-10-15) has a footnote in section 14.6.5.2. It reads: 131) Friend declarations do not introduce new names into any scope, either when the template is declared of when it is instantiated. Perhaps I just need to provide forward declarations for the friend functions.